这个是为什么或者该怎么写

img

仅供参考,(题目要求不一样)

#include<stdio.h>
int main()
{
        char ch[50];
        int i,letter=0,digit=0,other=0,k=0;
        for(i=0;ch[i-1]!='\n';i++)
                ch[i]=getchar();
        for(i=0;ch[i]!='\n';i++){
                if(ch[i]>='A'&&ch[i]<='Z' || ch[i]>='a'&&ch[i]<='z' )//统计字母,这里你要分开写,因为你的是统计大写小写字母
                        letter++;
                else if(ch[i]>='0'&&ch[i]<='9')//统计数字
                        digit++;
                else if(ch[i]>=' ')//统计空格
                        k++;
                else
                        other++;//其他字符
        }
        printf("字母:%d,数字:%d,空格:%d,其他:%d\n",letter,digit,k,other);
 
        return 0;
 
}