用C语言输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。 例如:输入:abc:12(d09e fg67)km fi I: letters are 9, spaces are 2, numbers are 6 and others are 3
时间: 2024-09-18 20:02:36 浏览: 22
在C语言中,你可以通过遍历输入的一行字符并利用ASCII码来区分各类字符。下面是一个简单的程序示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
fgets(input, sizeof(input), stdin); // 从标准输入读取一行字符
int alpha_count = 0; // 字母计数
int space_count = 0; // 空格计数
int digit_count = 0; // 数字计数
int other_count = 0; // 其他字符计数
for (int i = 0; input[i] != '\0'; i++) {
if (isalpha(input[i])) { // 判断是否为字母
alpha_count++;
} else if (isspace(input[i])) { // 判断是否为空格
space_count++;
} else if (isdigit(input[i])) { // 判断是否为数字
digit_count++;
} else { // 其他字符
other_count++;
}
}
printf("letters are %d, spaces are %d, numbers are %d and others are %d\n",
alpha_count, space_count, digit_count, other_count);
return 0;
}
```
当你运行这个程序并输入"abc:12(d09e fg67)km"这样的字符串时,它会分别计算并打印出字母、空格、数字以及非字母、空格、数字的其他字符的数量。
阅读全文