C语言5行字符串统计

输入5行字符串,输出其中英文大写字母、小写字母、数字、空格以及其它字符的个数。

循环scanf读入字符串,逐个字符扫描,分类统计

void main()
{
    char c[100];
    int A=0,a=0,num=0,space=0,other=0;
    for(int i=0;i<5;i++)
    {
        scanf("%s",c);
        int n = strlen(c);
        for(int j=0;j<n;j++)
        {
            if(c[i] >= 'A' && c[i] <= 'Z')
                A++;
            else if(c[i] >= 'a' && c[i] <= 'z')
                a++;
            else if(c[i] >='0' && c[i] <='9')
                num++;
            else if(c[i] == ' ')
                space++;
            else
                other++;
        }
    }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

定义char a[5][80] ,用gets 方法循环读取5次,然后循环判断。

int main()
{
    char buf[100];

    int n,j;
    int b=0,s=0,nmb=0,space=0,other=0;
    for(int i=0;i<5;i++)
    {
        gets(buf);
        n = strlen(buf);
        for(j=0;j<n;j++)
        {
            if(buf[i] >= 'A' && buf[i] <= 'Z')
                b++;
            else if(buf[i] >= 'a' && buf[i] <= 'z')
                s++;
            else if(buf[i] >='0' && buf[i] <='9')
                nmb++;
            else if(buf[i] == ' ')
                space++;
            else
                other++;
        }
    }

    printf("大写字母数=%d,小写字母数=%d,数字数=%d,空格数=%d,其它字符数=%d",b,s,nmb,space,other);

return 0;
}