hdu 2000 ASCII码排序
程序员文章站
2022-04-05 08:07:55
...
ASCII码排序
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Outpu
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qwe
asd
zxc
Sample Output
e q w
a d s
c x z
思路
首先,这道题是一个排序,非常简单;
根据ascii码排序可以用到char -> int -> char的强制转换的思路
然后用sort就可以排序了!
接下来是代码了 只有c++
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
char arr[10000];
while(cin>>arr)
{
int len=strlen(arr)-1;
int arr2[10000];
for(int i=0;i<=len;i++)
{
arr2[i]=(int)arr[i];//用int强制把arr中的char类型转换为int类型存在arr2中
}
sort(arr2,arr2+len+1);//sort为快排,超级方便在算法 algorithm头文件里面
for(int i=0;i<=len;i++)
{
cout<<(char)arr2[i];//在输出的时候强制把int类型的arr2转换为char输出;
if(i!=len){
cout<<' ';//空格是每一个题都要注意的地方,小心pe!最后没有空格
}
}
cout<<endl;
}
return 0;
}
怕这么简单的代码都不能用,自己跑去hdu试了一下,没有问题
上一篇: 新手小白初学Java(三)