ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
2 qwe asd
样例输出
-
e q w a d s
#include<iostream> #include<stdio.h> using namespace std; int main() { int n,i,j; char c; string s; scanf("%d",&n); while(n--) { cin>>s; for(i=0;i<3;i++) { for(j=0;j<3-i-1;j++) { if(s[j+1]<s[j]) { c=s[j]; s[j]=s[j+1]; s[j+1]=c; } } } cout<<s[0]<<" "<<s[1]<<" "<<s[2]<<endl; } return 0; }
这个题用了冒泡排序,当然有更简洁的办法,自己做题就想到了这个方法。
在C++里面,字符的排序可以直接进行比较,没必要在进行ASCII码的加减进行比较。