永发信息网

C语言改错误,统计字母,数字,空格,和其他字符个数。一定要用数组呀,最好能改一下程序

答案:1  悬赏:0  手机版
解决时间 2022-01-01 15:30
  • 提问者网友:精神病院里
  • 2021-12-31 23:48
#include<stdio.h>
#include<string.h>
int main()
{
char str[81];
int i=0;
int letters=0,digits=0,blank=0,others=0;
scanf("%s",str);
while(str[i]!='\0')
{
if ((str[i] >= 'a')&&(str[i] <= 'z')||(str[i] > 'A')&&(str[i] <= 'Z'))
letters++;
else if ((str[i] >= '0')&&(str[i] <= '9'))
digits++;
else if (str[i] == ' ')
blank++;
else others++;
i++;
}
printf("%d %d %d %d",letters,digits,blank,others);
return 0;
}
最佳答案
  • 五星知识达人网友:人類模型
  • 2022-01-01 00:55
您好!很高兴为您解答。


修改如下:


#include<stdio.h> 
#include<string.h>
int main()
{
    char str[81];
    int i=0;
    int letters=0,digits=0,blank=0,others=0;  
    //scanf("%s",str);
     while((str[i]=getchar())!='\n')
{
        if ((str[i] >= 'a'&&str[i] <= 'z')||(str[i] > 'A'&&str[i] <= 'Z'))  
            letters++;    
        else if (str[i] >= '0'&&str[i] <= '9')         
                 digits++;
             else if (str[i] == ' ')
                 blank++;
                  else others++;
  i++;
  } 
    printf("%d %d %d %d",letters,digits,blank,others);
 return 0; 
}


运行结果:





望采纳~如您还有不解,欢迎追问~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯