#include <stdio.h>
#include <ctype.h>
int main() {
char line[100];
int i, alphabets = 0, spaces = 0, digits = 0, others = 0;
// 输入一行字符
printf("请输入一行字符:\n");
fgets(line, sizeof(line), stdin);
// 统计字符类型
for (i = 0; line[i] != '\0'; ++i) {
if (isalpha(line[i])) {
alphabets++;
} else if (isspace(line[i])) {
spaces++;
} else if (isdigit(line[i])) {
digits++;
} else {
others++;
}
}
// 输出统计结果
printf("英文字母数量:%d\n", alphabets);
printf("空格数量:%d\n", spaces);
printf("数字数量:%d\n", digits);
printf("其他字符数量:%d\n", others);
return 0;
}
这个C语言程序接受用户输入的一行字符,然后统计其中的英文字母、空格、数字和其他字符的数量。以下是程序的简要解释:
fgets
函数获取用户输入的一行字符,存储在 line
数组中。fgets(line, sizeof(line), stdin);
for
循环遍历输入的字符,对每个字符进行类型判断:alphabets
计数。spaces
计数。digits
计数。others
计数。for (i = 0; line[i] != '\0'; ++i) {
if (isalpha(line[i])) {
alphabets++;
} else if (isspace(line[i])) {
spaces++;
} else if (isdigit(line[i])) {
digits++;
} else {
others++;
}
}
printf("英文字母数量:%d\n", alphabets);
printf("空格数量:%d\n", spaces);
printf("数字数量:%d\n", digits);
printf("其他字符数量:%d\n", others);
这样,程序就完成了输入一行字符并统计字符类型的功能。