Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。
输入描述:
Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
输出描述:
Lily的所有图片按照从小到大的顺序输出
示例1
输入
Ihave1nose2hands10fingers
输出
0112Iaadeeefghhinnnorsssv
C
#include<stdio.h>
int main()
{
char input[1025];
while(gets(input))
{
int a[62]={0};
int m=strlen(input);
for(int i=0;i<m;i++)
{
char c=input[i];
if(c>='a' && c<='z')
{
a[c-'a']++;
}
else if(c>='A' && c<='Z')
{
a[c-'A'+26]++;
}
else
{
a[c-'0'+52]++;
}
}
int k=0;
for(int i=52;i<=61;i++)
{
if(a[i]>0)
{
for(int j=0;j<a[i];j++)
{
input[k]=i-52+'0';
k++;
}
}
}
for(int i=26;i<=51;i++)
{
if(a[i]>0)
{
for(int j=0;j<a[i];j++)
{
input[k]=i-26+'A';
k++;
}
}
}
for(int i=0;i<=25;i++)
{
if(a[i]>0)
{
for(int j=0;j<a[i];j++)
{
input[k]=i+'a';
k++;
}
}
}
printf("%s\n",input);
}
return 0;
}