c语言统计字符

#include <stdio.h>
int main()
{
char a[5][80];
int b=0,c=0,d=0,e=0,f=0,i,j; //b代表大写英文字母的个数,c代表小写英文字母的个数,d代表数字的个数,e代表空格个数,f代表其他字符个数
printf("请输入五行文字(每行不要超过80个字符,每行以空格结束):\n");
for(i=0;i<5;i++)
{
gets(a[i]);
for(j=0;j<80&&a[i][j]!='\n';j++)
{
if(a[i][j]>='A'&&a[i][j]<='Z')
b++;
else if(a[i][j]>='a'&&a[i][j]<='z')
c++;
else if(a[i][j]>='0'&&a[i][j]<='9')
d++;
else if(a[i][j]==' ')
e++;
else f++;
}
}
printf("大写字母个数=%d\n小写字母个数=%d\n数 字 个 数 =%d\n空 格 字 数 =%d\n其他字符个数=%d\n",b,c,d,e,f);
return 0;
}

#include <stdio.h>
int main()
{
     char a[5][80];
     int b=0,c=0,d=0,e=0,f=0,i,j;        //b代表大写英文字母的个数,c代表小写英文字母的个数,d代表数字的个数,e代表空格个数,f代表其他字符个数
        printf("请输入五行文字(每行不要超过80个字符,每行以空格结束):\n");
     for(i=0;i<5;i++)
     {
          gets(a[i]);
          for(j=0;j<80&&a[i][j]!='\0';j++) //串结束符 ///////
          {
             if(a[i][j]>='A'&&a[i][j]<='Z')
              b++;
             else if(a[i][j]>='a'&&a[i][j]<='z')
              c++;
             else if(a[i][j]>='0'&&a[i][j]<='9')
              d++;
             else if(a[i][j]==' ')
              e++;
              else f++;
          }
     }
     printf("大写字母个数=%d\n小写字母个数=%d\n数 字 个 数 =%d\n空 格 字 数 =%d\n其他字符个数=%d\n",b,c,d,e,f);
     getch(); 
     return 0;
}

注释的地方存在问题,字符串是以'\0'为结束符的,所以你的统计出了问题,现在没问题了,你试试看。望采纳!

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网