编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。用c语言实现
时间: 2023-07-16 17:17:11 浏览: 81
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
可以使用C语言中的字符函数对字符串进行遍历和统计,下面是一个简单的实现:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *letters, int *digits, int *spaces, int *others) {
int i = 0;
char c;
while ((c = *(str + i)) != '\0') {
if (isalpha(c)) {
(*letters)++;
}
else if (isdigit(c)) {
(*digits)++;
}
else if (isspace(c)) {
(*spaces)++;
}
else {
(*others)++;
}
i++;
}
}
int main() {
char str[100];
int letters = 0, digits = 0, spaces = 0, others = 0;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
count_chars(str, &letters, &digits, &spaces, &others);
printf("Number of letters: %d\n", letters);
printf("Number of digits: %d\n", digits);
printf("Number of spaces: %d\n", spaces);
printf("Number of other characters: %d\n", others);
return 0;
}
```
在函数 `count_chars` 中,使用指针来修改统计结果,依次遍历字符串中的每个字符,判断其属于字母、数字、空格还是其他字符,并对相应的统计变量加一。
在主函数中,使用 `fgets` 函数获取用户输入的字符串,然后调用 `count_chars` 函数统计各种字符的个数,并输出结果。
阅读全文