求大神帮忙修改

mayuyu7 2013-05-26 07:01:08
//【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;
}
...全文
43 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧