题目描述
输入若干个字符,统计各英文字母出现的次数。(字母区分大小写字母)
输入格式:
输入一串字符,字符串最大长度为100。
输出格式:
输出对应英文字母出现的次数。
输入样例1:
在这里给出一组输入。例如:
This is a C program.
输出样例1:
在这里给出相应的输出。例如:
a->2
g->1
h->1
i->2
m->1
o->1
p->1
r->2
s->2
C->1
T->1
输入样例2:
在这里给出一组输入。例如:
12321,.;
输出样例2:
在这里给出相应的输出。例如:
#include <stdio.h>
#include <ctype.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int count_1[26] = {0},count_2[26] = {0};
int i,flag = 0;
fgets(str, MAX_LENGTH, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 检查字符c是否是字母(A-Z或a-z)
if (islower(str[i])) { // islower(int c):检查字符c是否是小写字母
count_1[str[i] - 'a']++;
flag = 1;
}
}
}
for (i = 0; i < 26; i++) {
if (count_1[i] != 0) {
printf("%c->%d\n", i + 'a', count_1[i]);
}
}
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
if (isupper(str[i])) { // isupper(int c):检查字符c是否是大写字母
count_2[str[i] - 'A']++;
flag = 1;
}
}
}
for (i = 0; i < 26; i++) {
if (count_2[i] != 0) {
printf("%c->%d\n", i + 'A', count_2[i]);
}
}
if (flag==0) {
printf("No letter!\n");
}
return 0;
}
fgets(str, MAX_LENGTH, stdin)
是一个在C语言中常用的函数,用于从标准输入读取一行字符串,并将其存储在给定的字符数组中
str:这是一个指向字符数组的指针,函数将把读取到的字符串存储在这个数组中。
MAX_LENGTH:这是要读取的最大字符数(包括空字符'\0')。函数将在这个字符数范围内读取输入,防止溢出。
stdin:这是指向标准输入流的指针,函数将从该流中读取数据。