c语言统计字符串中各个字符的个数


本文摘自PHP中文网,作者V,侵删。

目标:

输入一行字符,统计其中各种字符的个数。

具体代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define M 1024

void main() {

    char str[M];

    fgets(str, M, stdin);

    int space = 0;

    int letter = 0;

    int num = 0;

    int other = 0;

    for (int i = 0; i < (int)strlen(str); ++i) {

        if (str[i] == ' ') {

            space += 1;

        }

        else if (str[i] > 64 && str[i] < 91 || str[i]>96 && str[i] < 123)  {

            letter += 1;

        }

        else if (str[i] > 47 && str[i] < 58)  {

            num += 1;

        }

        else {

            if (str[i] != '\n') {//因为fgets()函数会在末尾自动加上\n,影响判断结果,需要判断是否为换行符

                other += 1;

            }

        }

    }

    printf("空格的个数为:%d\n", space);

    printf("英文字母的个数为:%d\n", letter);

    printf("数字的个数为:%d\n", num);

    printf("其他字符的个数为:%d\n", other);

    system("pause");

}

注意:fgets()函数会在字符串末尾(\0前)读入我们在键盘上敲的回车即换行符\n。

运行结果如下:

5704ecf534b3f2a07a729bf46dea266.png

推荐教程:c语言教程

以上就是c语言统计字符串中各个字符的个数的详细内容!

相关阅读 >>

C语言工程师的工作是什么

C语言中,一条简单语句的结束符为什么?

C语言源文件经过编译后生成文件的后缀是什么?

vb是什么意思?

C语言中文件包含的命令关键字是什么

C语言中求余运算符是什么?

C语言的注释定界符是什么

C语言真假是1和0吗?

C语言函数声明格式

fwrite函数的一般调用形式是什么?

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...