目标:

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

具体代码:

#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("空格的个数为:%dn", space);
	printf("英文字母的个数为:%dn", letter);
	printf("数字的个数为:%dn", num);
	printf("其他字符的个数为:%dn", other);
	system("pause");
}
登录后复制

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

运行结果如下:

5704ecf534b3f2a07a729bf46dea266.png

推荐教程:c语言教程

以上就是c语言统计字符串中各个字符的个数的详细内容,更多请关注悠悠之家其它相关文章!

点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部