ASCII码排序
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
- 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
- 输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
- 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。
- 样例输入
-
2 qwe asd
- 样例输出
-
e q w a d s
1 #include <iostream> 2 #include <set> 3 using namespace std; 4 5 //自定义比较函数,重载"()"操作符 6 struct mycomp{ 7 bool operator()(const char &a, const char &b){ 8 return a < b; 9 } 10 }; 11 12 int main(){ 13 multiset <char,mycomp> ms; 14 int test; 15 char c; 16 cin >> test; 17 while(test--){ 18 ms.clear(); 19 for(int i = 0; i < 3; i++){ 20 cin >> c; 21 ms.insert(c); 22 } 23 for (multiset<char,mycomp>::iterator it = ms.begin(); it != ms.end(); it++){ 24 if(it == ms.begin()) 25 cout << *it; 26 else 27 cout << " " << *it; 28 } 29 cout << endl; 30 } 31 return 0; 32 }