C语言编写一个函数,统计字符串中字母、数字、空格和其他字符的个数,在主函数 中调用该函数完成统计、字符串的输入,以及结果输出。
时间: 2023-11-17 18:17:24 浏览: 247
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
好的,你可以使用下面的 C 代码实现:
```c
#include <stdio.h>
#include <ctype.h>
void countChars(char *str, int *alphas, int *digits, int *spaces, int *others) {
/*
统计字符串中字母、数字、空格和其他字符的个数
*/
int i = 0;
char ch;
while ((ch = *(str+i)) != '\0') {
if (isalpha(ch)) {
(*alphas)++;
} else if (isdigit(ch)) {
(*digits)++;
} else if (isspace(ch)) {
(*spaces)++;
} else {
(*others)++;
}
i++;
}
}
int main() {
char str[100];
int alphas = 0, digits = 0, spaces = 0, others = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
countChars(str, &alphas, &digits, &spaces, &others);
printf("字母个数:%d\n", alphas);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
在该代码中,`countChars`函数用于统计字符串中字母、数字、空格和其他字符的个数。在函数中,我们使用了`ctype.h`头文件中的`isalpha`、`isdigit`和`isspace`函数来判断字符的类型,然后根据判断结果对计数器进行累加。
在主函数中,我们首先定义了一个字符串和四个计数器变量,然后通过`fgets`函数从标准输入中读取字符串,并将计数器的地址传递给`countChars`函数进行统计。最后,我们输出四个计数器的值,作为结果输出。
你可以将这段代码保存为一个 C 文件,然后通过编译器进行编译、链接,最后运行得到统计结果。
阅读全文