蓝桥杯 C语言 单词分析
题目
题目要求
1.寻找出现最多的字母和这 个字母出现的次数。
2.如果有多个字母出现的次数相等,输出字典序最小的那个。
思路分析
输入方法:
方法一:
1.可以通过数组来记录该单词,并为单词出现的每一个字母做上标记。
2.可以采用for循环将字符串依次输入,直到输入‘\n’为止。
方法二:
通过gets函数输入字符。
3.如何将字母与出现次数相连接起来?
可以采用双for循环模式,判断ch[i]是否与ch[j]相等,相等则count+1。
4.如何确定已经判断过的字母不会进行重复判断?
可以采取双重for循环与if合作进行判断。
5.可使用if进行对count进行判断,使其对应字母次数一直是最大。
代码:
#include<stdio.h> #include<string.h> #include<math.h> int main() { int i=0,j=0,k=0,p=0;//i与j分别主宰第一、二重循环,k为计算输入的字符串长度,p记录下标 int maxcount=0;//最大次数 int count=1;//次数,次数必须为1是因为ch[i]已经出现过一次 char ch[1000]; scanf("%s",&ch);//另一种输入方法:gets(ch); k=strlen(ch); for(i=0;i<k;i++) { for(j=i+1;j<k;j++) { if(ch[i]=='/')//当i是已经出现过的字母则无须再次计算 { break; } if(ch[i]==ch[j]) { ch[j]='/'; count++; } } if(maxcount<count) { maxcount=count; p=i; } count=1; } printf("重复最多的字母为%c,\n重复次数为%d",ch[p],maxcount); return 0; }
运行结果
标签:单词,ch,int,字母,C语言,蓝桥,次数,例题,输入 From: https://www.cnblogs.com/hcrzhi/p/17279252.html