请用C语言编程输入一个含字母、数字、空格、和其他字符的字符串,统计这个字符串中的字母、数字、空格以及其他字符的个数
时间: 2023-11-19 20:06:48 浏览: 62
以下是用C语言编写的代码,实现了输入一个字符串,统计其中字母、数字、空格和其他字符的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, letters=0, digits=0, spaces=0, others=0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i]!='\0'; i++) {
if (isalpha(str[i]))
letters++;
else if (isdigit(str[i]))
digits++;
else if (isspace(str[i]))
spaces++;
else
others++;
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
代码解释如下:
1. 定义一个字符数组 `str`,用于存储输入的字符串,最大长度为100。
2. 定义四个整型变量 `letters`、`digits`、`spaces` 和 `others`,分别用于统计字母、数字、空格和其他字符的个数,初始值都为0。
3. 使用 `gets()` 函数从标准输入(即键盘)读入一个字符串,存储到 `str` 数组中。
4. 使用 for 循环遍历字符串 `str` 中的每一个字符,如果是字母,则 `letters` 计数器加1,如果是数字,则 `digits` 计数器加1,如果是空格,则 `spaces` 计数器加1,否则认为是其他字符,`others` 计数器加1。
5. 最后输出统计结果,即各种字符的个数。
注意:这里使用了 `gets()` 函数,可以读取包含空格的字符串,但是该函数不安全,因为它不会检查字符串长度,可能会导致缓冲区溢出。实际开发中应该使用更安全的函数,例如 `fgets()`。
阅读全文