输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,使用c++
时间: 2023-11-23 17:03:52 浏览: 74
语言编写。
```c
#include <stdio.h>
int main()
{
char str[100];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符:");
gets(str);
int i = 0;
while (str[i] != '\0')
{
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
letters++;
else if (str[i] == ' ')
spaces++;
else if (str[i] >= '0' && str[i] <= '9')
digits++;
else
others++;
i++;
}
printf("字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
注意:上述代码使用了 gets 函数来读取输入的一行字符,但是 gets 函数有缺陷,可能会导致缓冲区溢出。为了避免这种情况,可以使用 fgets 函数代替,例如:
```c
fgets(str, 100, stdin);
```
阅读全文