请编写程序,找出一段给定文字中出现最频繁的那个英文字母。

输入格式:

输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。

输出格式:

在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。

输入样例:

This is a simple TEST.  There ARE numbers and other symbols 1&2&3...........

输出样例:

e 7

思路

  • 这道题统计数量最多的字母,那么我们可以将字母转化为数字,如果小写字母,就减去‘a’,如果大写字母减去‘A’,将转换之后的字母存入数组,之后比较大小。

    AC1
#include <stdio.h>
int main(){
char str[1001],c;
int num[26]={0}; //统计26个字母出现的次数
gets(str); //gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
int i=0,max=0;
for(i=0;str[i]!='\0';i++){
if(str[i]>='a'&&str[i]<='z'){
num[str[i]-'a']++;
}
if(str[i]>='A'&&str[i]<='Z'){
num[str[i]-'A']++;
} //将字母全部转换为数字,存入num[]数组中
}
for(i=0;i<26;i++){
if(max<num[i]){
max=num[i]; //遍历查找最大
c=i+'a'; //最后将数字又转化为小写字母
}
}
printf("%c %d",c,max);
return 0;
}

AC2

#include <stdio.h>
int main(){
char c;
int num[26]={0},max,i;
while((c=getchar())!='\n'){
if(isalpha(c))//isalpha(int c)检查,传递的字符是否为字母
num[tolower(c)-'a']++;//tolower(int c)转换给定的字母为小写。
}
for(i=25; i>=0;i--){
if(num[i]>=num[max]){
max=i;
}
}
printf("%c %d",max+'a',num[max]);
return 0;
}

最新文章

  1. 如何利用cookie来保存用户登录账号
  2. super
  3. java基础问题 (转)
  4. fedora下体验gentoo安装
  5. pyqt QTimer,QThread例子学习
  6. 解密电子书之三:MCU(君正)
  7. AutoAudit研究学习
  8. 第三节,目标检测---R-CNN网络系列
  9. React native中DrawerNavigator,StackNavigator,TabNavigator导航栏使用
  10. 错误提示:The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project The type java.lang.Object cannot b
  11. 回顾HashMap
  12. Hbase学习笔记——基本CRUD操作
  13. 1127 ZigZagging on a Tree (30 分)
  14. php异步实现,避免长时间等待
  15. qt离线下载
  16. VS2013+opencv2.4.9配置
  17. Makefile-命令前的@和-符号
  18. annotation-config和component-scan
  19. Codeforces Round #546 (Div. 2) 题解
  20. idea 修改静态资源不需要重启的办法

热门文章

  1. @codechef - BIKE@ Chef and Bike
  2. php开发微信支付获取用户地址
  3. 6、mysql的安装
  4. Android Studio(九):引用jar及so文件
  5. H3C IP 地址格式和表示方法
  6. HDU 2546 01背包问题
  7. Laravel 中config的用法
  8. PHP redis安装扩展
  9. dot net double 数组转 float 数组
  10. River Hopscotch-[二分查找、贪心]