描述
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。
本题含有多组样例输入。
输入描述:Lily使用的图片包括"A"到"Z"、“a"到"z”、“0"到"9”。输入字母或数字个数不超过1024。
输出描述:Lily的所有图片按照从小到大的顺序输出
示例1
输入:Ihave1nose2hands10fingers
输出:0112Iaadeeefghhinnnorsssv
题解:
字符按ASCII排序后输出;
思路:开一个数组,下标对应字符的ASCII码,存储字符出现的次数,最后按数组顺序输出。
C语言:
#include<stdio.h>
#include<string.h>
int main()
{
char arr[1024];
while(gets(arr))
{
for(int i=0;i<127;i++)
{
for(int j=0;j<strlen(arr);j++)
{
if(arr[j]==i)
{
printf("%c",arr[j]);
}
}
}
printf("\n");
}
return 0;
}
C++:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string str;
while(cin >> str)
{
sort(str.begin(),str.end());
cout << str << endl;
}
return 0;
}