编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数。
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
char str[MAX]; // 输入的字符串,最大长度是MAX-1,因为有一个字符串结束符
int i = 0, count[52] = { 0 }; // count 数组用来存储各个字母出现的次数
scanf("%s", str);
while(str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') { // 统计小写字母
count[str[i] - 97 + 26]++;
}
if (str[i] >= 'A' && str[i] <= 'Z') { // 统计大写字母
count[str[i] - 65]++;
}
i++;
}
for (i = 0; i < 26; i++) { // 输出大写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 65, count[i]); // 只输出不为零的数据
}
for (i = 26; i < 52; i++) { // 输出小写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 97 - 26, count[i]);
}
return 0;
}
#include <stdlib.h>
#define MAX 100
int main()
{
char str[MAX]; // 输入的字符串,最大长度是MAX-1,因为有一个字符串结束符
int i = 0, count[52] = { 0 }; // count 数组用来存储各个字母出现的次数
scanf("%s", str);
while(str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') { // 统计小写字母
count[str[i] - 97 + 26]++;
}
if (str[i] >= 'A' && str[i] <= 'Z') { // 统计大写字母
count[str[i] - 65]++;
}
i++;
}
for (i = 0; i < 26; i++) { // 输出大写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 65, count[i]); // 只输出不为零的数据
}
for (i = 26; i < 52; i++) { // 输出小写字母信息
if (count[i] != 0)
printf("%c\t%d\n", i + 97 - 26, count[i]);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询