求大神帮忙修改
//【2】任意输入一个由不超过100个小写英文字母组成的字符串。
//(1)分别统计各字母出现的个数,按英文字母表的顺序分行显示。若该字母出现字数为0,则不必显示。
//(2)按照出现次数由大到小排序,在一行内依次显示各字母,次数为0的不显示。排序后字母变了,怎么改。
#include<stdio.h>
#include<string.h>
void tongji(char str[], int result1[])
{
int i=0;
while(str[i]!= '\0')
{
if ( str[i]>='a' && str[i]<='z')
{
result1[str[i]-'a']++;
}
i++;
}
}
void sort(int a[],int n)
{
int k,j;
for (j=1;j<n;j++)
for(k=0;k<n-j;k++)
if(a[k]<a[k+1])
{
int temp;
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
int main()
{
char str[100];
int result[26]={0};
int result2[26]={0};
int i,j;
printf("请输入一个不超过100个字母的字符串:\n");
scanf("%s", str);
tongji(str, result);
for (i=0; i<26; i++)
{
if(result[i]>0)
{
printf("%c的次数: %5d\n", 'a'+i,result[i]);
}
}
sort(result,i);
for (i=0; i<26; i++)
{
if(result[i]>0)
{
printf("%c的次数: %5d\n", 'a'+i,result[i]);
}
}
return 0;
}