#include<stdio.h>
#include<string.h>
#define N 100
void main()
{
void tongji(char str[]);
char str[N];
scanf("%s",str);
tongji(str);
}
void tongji(char str[])
{
char t,ch[26];
int i,j,n=0,m=0;
for(i=0;i<26;i++)
ch[i]='A'+i;
for(i=0;i<26;i++)
{
for(j=0;j<strlen(str)-1;j++)
if(ch[i]==str[j] || ch[i]+32==str[j]) n++;
if(n!=0) printf("%c %d\n",ch[i],n);
if(n>m) m=n,t=ch[i];
n=0;
}
printf("出现最多次数的字母是%c 出现了%d次\n",t,m);
}
在一个代码可以 但是我把里面的那个for循环改成while为什么就不行了呢 请看改成while的代码
#include<stdio.h>
#include<string.h>
#define N 100
void main()
{
void tongji(char str[]);
char str[N];
scanf("%s",str);
tongji(str);
}
void tongji(char str[])
{
char t,ch[26];
int i,j=0,n=0,m=0;
for(i=0;i<26;i++)
ch[i]='A'+i;
for(i=0;i<26;i++)
{
while(str[j]!='\0')
{
if(ch[i]==str[j] || ch[i]+32==str[j]) n++; j++;}
if(n!=0) printf("%c %d\n",ch[i],n);
if(n>m) m=n,t=ch[i];
n=0;
}
printf("出现最多次数的字母是%c 出现了%d次\n",t,m);
}