写一个程序要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。
时间: 2024-03-09 12:46:40 浏览: 122
统计英文字母、空格、数字和其他字符的个数 小程序
5星 · 资源好评率100%
好的,我可以帮你写出这个程序。请看下面的代码:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *alpha, int *space, int *digit, int *other) {
char c;
while ((c = *str++) != '\0') {
if (isalpha(c)) {
(*alpha)++;
} else if (isspace(c)) {
(*space)++;
} else if (isdigit(c)) {
(*digit)++;
} else {
(*other)++;
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
int alpha = 0, space = 0, digit = 0, other = 0;
count_chars(str, &alpha, &space, &digit, &other);
printf("英文字母的个数为:%d\n", alpha);
printf("空格或回车的个数为:%d\n", space);
printf("数字字符的个数为:%d\n", digit);
printf("其他字符的个数为:%d\n", other);
return 0;
}
```
这个程序接受一个字符串作为输入,然后调用一个名为 `count_chars()` 的函数来统计不同类型字符的个数。`count_chars()` 函数遍历字符串中的每一个字符,根据字符的类型更新相应的计数器。最后,它将每个计数器的值存储在指针中,以便在 `main()` 函数中打印出来。
在 `main()` 函数中,我们首先输入一个字符串,然后调用 `count_chars()` 函数统计字符个数。最后,我们将每个计数器的值打印出来。
希望我的回答能够帮到你!
阅读全文