C语言 求教

#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);
}
	

猜你喜欢

转载自blog.csdn.net/yt_jisuanji/article/details/101425741