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試了一下,沒有問題