用c++编写这个程序:编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数
时间: 2023-11-19 19:01:43 浏览: 88
```
#include <stdio.h>
#include <ctype.h>
void countChars(char* str) {
int letters = 0;
int digits = 0;
int spaces = 0;
int others = 0;
while (*str != '\0') {
if (isalpha(*str)) {
letters++;
} else if (isdigit(*str)) {
digits++;
} else if (isspace(*str)) {
spaces++;
} else {
others++;
}
str++;
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
countChars(str);
return 0;
}
```
相关问题
用C++编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
```c
#include <stdio.h>
#include <ctype.h>
void count(char *str, int *letter, int *digit, int *space, int *other) {
while (*str) {
if (isalpha(*str)) {
(*letter)++;
} else if (isdigit(*str)) {
(*digit)++;
} else if (isspace(*str)) {
(*space)++;
} else {
(*other)++;
}
str++;
}
}
int main() {
char str[100];
int letter = 0, digit = 0, space = 0, other = 0;
printf("Enter a string: ");
fgets(str, 100, stdin);
count(str, &letter, &digit, &space, &other);
printf("The string contains:\n");
printf("%d letters\n", letter);
printf("%d digits\n", digit);
printf("%d spaces\n", space);
printf("%d other characters\n", other);
return 0;
}
```
C++编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
```c
#include <stdio.h>
#include <ctype.h>
void count(char *str, int *letter, int *digit, int *space, int *other) {
while (*str) {
if (isalpha(*str)) {
(*letter)++;
} else if (isdigit(*str)) {
(*digit)++;
} else if (isspace(*str)) {
(*space)++;
} else {
(*other)++;
}
str++;
}
}
int main() {
char str[100];
int letter = 0, digit = 0, space = 0, other = 0;
printf("请输入字符串:\n");
gets(str);
count(str, &letter, &digit, &space, &other);
printf("字母个数:%d\n", letter);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", space);
printf("其他字符个数:%d\n", other);
return 0;
}
```
注意:`gets()` 函数已经在 C11 标准中被废弃,建议使用 `fgets()` 函数代替。
阅读全文