编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。 输入 一行字符串 输出 统计数据,4个数字,空格分开。
时间: 2024-05-03 14:17:59 浏览: 60
C语言 编写函数,由实参传来一个字符串,统计其中字母,数字空格,和其他字符的个数
5星 · 资源好评率100%
以下是实现此功能的代码:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *num_letters, int *num_digits, int *num_spaces, int *num_others) {
*num_letters = 0;
*num_digits = 0;
*num_spaces = 0;
*num_others = 0;
while (*str != '\0') {
if (isalpha(*str)) {
(*num_letters)++;
} else if (isdigit(*str)) {
(*num_digits)++;
} else if (*str == ' ') {
(*num_spaces)++;
} else {
(*num_others)++;
}
str++;
}
}
int main() {
char str[100];
int num_letters, num_digits, num_spaces, num_others;
fgets(str, 100, stdin);
count_chars(str, &num_letters, &num_digits, &num_spaces, &num_others);
printf("%d %d %d %d\n", num_letters, num_digits, num_spaces, num_others);
return 0;
}
```
在 `count_chars` 函数中,我们使用指针传递来修改实参的值,并通过 `isalpha` 和 `isdigit` 函数判断字符类型。在 `main` 函数中,我们使用 `fgets` 函数读入一行字符串,并调用 `count_chars` 函数统计字符个数,最后输出结果。
阅读全文