输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少?用C语言
时间: 2024-10-25 16:14:25 浏览: 25
在C语言中,可以使用`ctype.h`库提供的函数来识别字母、数字、空格和其他字符,并统计它们的数量。下面是一个简单的示例程序,它接受一行字符串作为输入,并打印出各种字符的计数:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define ALPHABET "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
#define NUMBERS "0123456789"
void count_chars(char *str) {
int uppercase_count = 0;
int lowercase_count = 0;
int space_count = 0;
int digit_count = 0;
int other_count = 0;
for (int i = 0; str[i]; i++) {
char c = str[i];
if (isupper(c)) {
uppercase_count++;
} else if (islower(c)) {
lowercase_count++;
} else if (isspace(c)) {
space_count++;
} else if (isdigit(c)) {
digit_count++;
} else {
other_count++;
}
}
printf("大写字母: %d\n", uppercase_count);
printf("小写字母: %d\n", lowercase_count);
printf("空格: %d\n", space_count);
printf("数字: %d\n", digit_count);
printf("其他字符: %d\n", other_count);
}
int main() {
char input[100];
printf("请输入一行文字: ");
fgets(input, sizeof(input), stdin); // 使用fgets以避免包括换行符
count_chars(input);
return 0;
}
```
阅读全文