用c语言本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。
时间: 2024-03-09 22:46:38 浏览: 78
好的,我可以帮你写出这个函数。请看下面的代码:
```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;
}
```
这个函数接受一个字符串指针和四个整型指针作为参数。它遍历字符串中的每一个字符,根据字符的类型更新相应的计数器。最后,它将每个计数器的值打印出来。
在 `main()` 函数中,我们首先输入一个字符串,然后调用 `count_chars()` 函数统计字符个数。最后,我们将每个计数器的值打印出来。
希望我的回答能够帮到你!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)