回复 12楼 li1007944219
不知道你括号都复制进去没有,反正我在dev c++下编译正常
下面是修改后的程序,加进了排序
#include<stdio.h>
#include<string.h>
main()
{
int num[52]={0},i=0,j=0;
int t,k;
char str[100],s[52],a[10];
struct px
{
char s1;
int num1=0;
}px[52],temp;
gets(str);
for(i=0;i<26;i++);
s[i]='A'+i;
for(j=0;j<52;j++)
px[j].s1=s[j]='A'+j;
i=0,j=0;
while(str[i]!='\0')
{
if(str[i]>='A'&&str[i]<='z')
num[str[i]-'A']++;
px[str[i]-'A'].num1++;
i++;
}
for(i=0;i<52;i++)
for(j=0;j<51-i;j++)
{
if(px[j].num1<px[j+1].num1)
{
temp=px[j];
px[j]=px[j+1];
px[j+1]=temp;
}
}
for(i=0;i<52;i++)
{
if(px[i].num1!=0)
{
printf("\n");
printf("字母%c出现的次数是%d",px[i].s1,px[i].num1);
}
}
}