pta统计字符(C语言)

本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。

输出格式:
在一行内按照

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。
求帮忙找错修改!

img

img

修改如下,供参考:

#include<stdio.h>
int main()
{
    char ch;
    int  i, letter = 0, dight = 0, blank = 0, other = 0;
    for (i = 0; i < 10; i++)
    {
        ch = getchar();
        if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
            letter++;
        else if (ch >= '0' && ch <= '9')
            dight++;
        else if (ch == ' ')
            blank++;
        else if (ch == '\n')
            blank++;
        else
            other++;
    }
    printf("letter = %d,blank = %d,digit = %d,other = %d", letter, blank, dight, other);
    return  0;
}

 
#include <iostream>
 
using namespace std;
 
int main()
{
    char ch;
    int a = 0, b = 0, c = 0, d = 0;
    while (cin.get(ch))
    {
        if (ch != '\n')
        {
            if(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
                a++;
            else if (ch >= '0' && ch <= '9')
                b++;
            else if (ch == ' ')
                c++;
            else
                d++;
        }
        else
        {
            cout << "英文字母有" << a << "个" << endl;
            cout << "数字字符有" << b << "个" << endl;
            cout << "空格有" << c << "个" << endl;
            cout << "其他字符有" << a << "个" << endl;
            break;
        }
    }
    return 0;
}