http://acm.hdu.edu.cn/showproblem.php?pid=2000
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
#include <iostream>
using namespace std;
int main()
{
char a[3];
int i,j;
bool is_sort=true;
while(cin>>a){ //多行输入
for(i=0;i<2;i++){ //冒泡排序
for(j=0;j<2-i;j++){
if(a[j]>a[j+1]){
is_sort=false;
swap(a[j],a[j+1]);
}
}
if(is_sort)break; //最好时间复杂度为O(n)
}
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
}
return 0;
}
【后记】
1.决定在这周之内把杭电100题刷完(又给自己立下了flag),碰到第一题就懵逼了,第一次碰到未知行数的输入emmmm,紧急查了下cin和cout