C++编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。
时间: 2023-06-02 12:07:25 浏览: 107
好的,这是一个计算字符串中字母、数字、空格和其他字符个数的问题,属于技术问题。以下是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
count_chars(str);
return 0;
}
void count_chars(char *str) {
int letters = 0, digits = 0, spaces = 0, others = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letters += 1;
} else if (isdigit(str[i])) {
digits += 1;
} else if (isspace(str[i])) {
spaces += 1;
} else {
others += 1;
}
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
}
```
输入一个字符串,使用 `fgets()` 函数获取字符串并保存在 `str` 数组中。然后调用 `count_chars()` 函数,遍历字符串中的每个字符,使用 `isalpha()` 函数判断字母、`isdigit()` 函数判断数字,`isspace()` 函数判断空格,其他字符即为不属于前面三种类型的字符。最后输出统计结果。
阅读全文