目标:
输入一行字符,统计其中各种字符的个数。
具体代码:
#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。
运行结果如下:
推荐教程:c语言教程