用c语言编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果
时间: 2023-11-17 15:07:27 浏览: 90
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
好的,你的问题是关于C语言函数的。以下是函数的实现代码:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void countCharacters(char *str)
{
int i, alphabets = 0, digits = 0, spaces = 0, others = 0;
int len = strlen(str);
for (i = 0; i < len; i++) {
if (isalpha(str[i])) {
alphabets++;
} else if (isdigit(str[i])) {
digits++;
} else if (isspace(str[i])) {
spaces++;
} else {
others++;
}
}
printf("String contains:\n");
printf("%d alphabets\n", alphabets);
printf("%d digits\n", digits);
printf("%d spaces\n", spaces);
printf("%d other characters\n", others);
}
int main()
{
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
countCharacters(str);
return 0;
}
```
使用 `ctype.h` 库的 `isalnum()` 和 `isspace()` 函数来判断字符串中的字符类型,然后在循环中累计计数器。最后,输出每个计数器的值以得到所需的结果。
希望这能帮到你。
阅读全文