这是C语言课后的一道习题,网上可以找到很多相关的代码,都可以很好的基本完成题目要求
但是,我发现很多的代码都无法实现统计字符串中大于10的数字(只局限于统计0-9之间的数字)
此程序可以改进具有十位,百位,千位,甚至更大的数字的统计:
#include<stdio.h> int main() { char a[50] ="1 2 3 a b c d @ 15 21 19 88 r 78 100 189 1598 46"; int i,j; int d = 0, c = 0, e = 0,sum=0; for (i = 0; i < 50; i++) { if ((a[i] >= 65 && a[i] <= 90) ||( a[i] >= 97 && a[i] <= 122)) d++; else if (a[i] == 32) c++; else { j=i+1; if (a[i] >= 48 && a[i] <= 57&&(a[j]==32||a[j]==‘\0‘)) e++; else if(a[i] >= 48 && a[i] <= 57&&a[j]>=48&&a[j]<=57) { e++; e=e-1; } } } printf("字符中的字母的个数为:%d\n", d); printf("字符中空格的个数为:%d\n", c); printf("字符中数字的个数为:%d\n",e); return 0; }
时间: 2024-10-25 03:47:45