请用c语言编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格及其它字符的个数,在主函数中输入字符串以及输出结果。
时间: 2023-11-17 10:07:26 浏览: 195
好的,下面是代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void count_chars(char* str, int* alphabets, int* digits, int* spaces, int* others){
int len = strlen(str);
for(int i=0; i<len; i++){
if(isalpha(str[i]))
(*alphabets)++;
else if(isdigit(str[i]))
(*digits)++;
else if(isspace(str[i]))
(*spaces)++;
else
(*others)++;
}
}
int main(){
char str[100];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin);
int alphabets = 0, digits = 0, spaces = 0, others = 0;
count_chars(str, &alphabets, &digits, &spaces, &others);
printf("字母个数: %d\n数字个数: %d\n空格个数: %d\n其他字符个数: %d\n", alphabets, digits, spaces, others);
return 0;
}
```
这个函数 `count_chars` 需要传入指向各个变量的指针,因为要进行统计。在主函数中,我们输入一个字符串,再调用 `count_chars` 函数进行统计,最后输出结果。注意,我们使用了标准库函数 `isalpha`、`isdigit` 和 `isspace` 来判断字符是否为字母、数字和空格。
阅读全文