我的那个程序运行后出现不了结果,这只是找出每个字母出现频率的代码,还没有找最大值,求大神帮忙,哪一点出错了!!!
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int i,max=0,n=0;
int num[26];
printf("Please input a string:");
for(i=0;i<27;i++)
num[i]=0;
while((c=getchar())!=EOF)
{
for(i=0;i<26;i++)
{if(c==i+65)
num[i]=num[i]+1;
if(c==i+97)
num[i]=num[i]+1;
}
}
for(i=0;i<27;i++)
printf("%d",num[i]);
system("pause");
}
C语言:用getchar加循环输入一串字符串算出每个字母出现的次数,并找出出现频率最大的那个字母
答案:1 悬赏:40
解决时间 2021-03-07 02:30
- 提问者网友:霸道又专情♚
- 2021-03-06 19:13
最佳答案
- 二级知识专家网友:陪伴是最长情的告白
- 2021-03-06 19:25
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int main(void){
char ch;
int i,j,k,max=0,w[26]={0,};
while(ch=getchar(),ch!='\n'){
w[k=(ch|0x20)-'a']++;
if(max<w[k]) max=w[j=k];
}
for(i=0;i<26;i++)
printf("%c: %d\n",'A'+i,w[i]);
printf("Most times letter is %c(%d).\n", 'A'+j,w[j]);
return 0;
}
#include "stdio.h"
int main(void){
char ch;
int i,j,k,max=0,w[26]={0,};
while(ch=getchar(),ch!='\n'){
w[k=(ch|0x20)-'a']++;
if(max<w[k]) max=w[j=k];
}
for(i=0;i<26;i++)
printf("%c: %d\n",'A'+i,w[i]);
printf("Most times letter is %c(%d).\n", 'A'+j,w[j]);
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯