【问题描述】
输入一行字符,统计其中字母、数字、其它符号的个数。
【输入形式】
从键盘输入任意可以显示的字符,以“Enter”键结束。
【输出形式】
输出三行,第一行数据为字母数,第二行数据为数字的个数,第三个数据为其它字符的个数
样例输入 | 样例输出 |
#767ahjGG,,..**) | 5 3 8 |
#include <iostream>
#include <cctype>
using namespace std;
int main() {
char str[100];
int letterCount = 0, digitCount = 0, otherCount = 0;//统计字母、数字和其他字符的数量
cin.getline(str, 100);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letterCount++;
}
else if (isdigit(str[i])) {
digitCount++;
}
else {
otherCount++;
}
}
cout << letterCount << endl;
cout << digitCount << endl;
cout << otherCount << endl;
return 0;
}
使用 isalpha()
和 isdigit()
函数判断字符是否为字母或数字,如果是,则相应计数器加1;否则,说明是其他字符,将 otherCount
加1。最后,程序输出三个计数器的值。