编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字 符的个数,在主函数中输入字符串以及输出上述的结果。
#include <stdio.h>
#include <ctype.h>
// 统计字符类型
void count_characters(char str[], int *letters, int *digits, int *spaces, int *others) {
*letters = *digits = *spaces = *others = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
(*letters)++;
} else if (isdigit(str[i])) {
(*digits)++;
} else if (isspace(str[i])) {
(*spaces)++;
} else {
(*others)++;
}
}
}
int main() {
char str[100];
int letters, digits, spaces, others;
printf("输入一个字符串:");
scanf("%[^\n]", str);
count_characters(str, &letters, &digits, &spaces, &others);
printf("字母:%d\n数字:%d\n空格:%d\n其他字符:%d\n", letters, digits, spaces, others);
return 0;
}
解释说明:
统计字符类型:
- 函数
count_characters
统计字符串中的字母、数字、空格和其他字符的个数。 - 主函数从键盘输入一个字符串,调用
count_characters
函数并输出统计结果。