本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为10个字符。最后一个回车表示输入结束,不算在内。c语言
时间: 2024-10-22 07:01:45 浏览: 53
输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数(C语言代码)
在C语言中,你可以通过循环遍历输入字符串,并利用条件判断来统计不同类型的字符。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
char input[11]; // 11 for extra space for null terminator
int alpha_count = 0, space_count = 0, digit_count = 0, other_count = 0;
printf("请输入10个字符:");
fgets(input, sizeof(input), stdin); // 读取输入并忽略末行符
// 检查每个字符
for (int i = 0; i < strlen(input) - 1; 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("英文字母:%d\n", alpha_count);
printf("空格或回车:%d\n", space_count);
printf("数字字符:%d\n", digit_count);
printf("其他字符:%d\n", other_count);
return 0;
}
```
在这个程序中,`isalpha()`函数用于检查字符是否为字母,`isspace()`用于检测空白字符,`isdigit()`用于检测数字字符。然后分别增加对应的计数器。注意,我们不计算最后的换行符,所以在`strlen()`和循环条件中需要减去1。
阅读全文