题目描述 输入一行字符,分别统计出其中英文字母,数字,空格,其它字符的个数。 输入 输入一行字符(包含空格)。 输出 输出共有若干行: 输出为一行,分别输出英文字母,数字,空格,其它字符的个数,用空格分隔。用C语言
时间: 2024-03-23 20:37:37 浏览: 35
可以使用C语言的字符数组和循环来解决这个问题。具体实现过程如下:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int i, alpha, digit, space, other;
alpha = digit = space = other = 0; // 初始化计数器
// 读入一行字符
printf("请输入一行字符:\n");
fgets(str, 100, stdin);
// 统计各类字符的个数
for(i = 0; str[i] != '\0'; i++)
{
if(isalpha(str[i])) // 判断是否为字母
alpha++;
else if(isdigit(str[i])) // 判断是否为数字
digit++;
else if(str[i] == ' ') // 判断是否为空格
space++;
else // 其它字符
other++;
}
// 输出结果
printf("字母个数:%d\n", alpha);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", space);
printf("其它字符个数:%d\n", other);
return 0;
}
```
注意要包含头文件 `<ctype.h>`,并使用函数 `isalpha()` 判断是否为字母,使用函数 `isdigit()` 判断是否为数字。程序中使用了函数 `fgets()` 读入一行字符,避免了使用 `scanf()` 函数可能会出现的问题。
阅读全文