题解 | #字符统计#
字符统计
http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
#include<stdio.h>
struct node
{
int alpha;
int count;
};
int main()
{
char str[1001];
while(scanf("%s",str)!=EOF)
{
int len=strlen(str);
struct node s[128];
for(int i=0;i<128;i++)//让s与ASCII相关
{
s[i].alpha=i;
s[i].count=0;
}
/*for(int i=0;i<128;i++)
{
printf("%d",s[i].alpha);
}*/
for(int i=0;i<len;i++)
{
s[(int)str[i]].count++;
}
/*for(int i=0;i<128;i++)
{
printf("%d",s[i].count);
}
printf("\n");*/
for(int i=0;i<128;i++)
{
for(int j=0;j<128-i-1;j++)
{
if(s[j].count<s[j+1].count)
{
struct node temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
for(int i=0;i<128;i++)
{
if(s[i].count!=0)
{
printf("%c",s[i].alpha);
}
}
printf("\n");
}
return 0;
}