ASCII码排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
-
输入
- 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出
- 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入
-
2 qwe asd
样例输出
-
e q w a d s
-
代码如下:
-
#include<iostream> #include<string> #include<sstream> #include<vector> #include<algorithm> using namespace std; int main(){ int n; char c; string s1; cin>>n; vector<char> v; while(n--){ cin>>s1; stringstream ss; ss<<s1; while(ss>>c)v.push_back(c);//放入容器中 sort(v.begin(),v.end());//排序 //for(auto s:v)cout<<s<<" ";//由于测试编译器不支持c++ 11标准 不能这么写 for(int i=0;i<v.size();i++)cout<<v[i]<<" "; cout<<endl; v.clear();//清除容器中元素 } return 0; } <pre name="code" class="cpp">#include<cstdio> #include<cstdlib> int main() { int n; char a[4],t; scanf("%d",&n); while(n--) { scanf("%s",a); int i,j; for(i=0;i<3;i++) for(j=0;j<2;j++) { if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } for(i=0;i<3;i++) { printf("%c ",a[i]); } printf("\n"); } return 0; }
-
(全文完)