杭电ACM大赛2000关于ASCII码排序的问题
#include <iostream>using namespace std;int main(){ char a[3]; for (int i=0;i<3;i++) cin>>a[i]; if(a[0]>a[1]) { a[0]=a[0]+a[1]; a[1]=a[0]-a[1]; a[0]=a[0]-a[1]; } if(a[1]>a[2]) { a[1]=a[1]+a[2]; a[2]=a[1]-a[2]; a[1]=a[1]-a[2]; } if(a[0]>a[2]) { a[0]=a[0]+a[3]; a[3]=a[0]-a[3]; a[0]=a[0]-a[3]; } cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;}//不知道上面的代码哪里出错啦?通不过,下面为正解
#include <iostream>#include <algorithm>using namespace std;int main(void){char n[4];while (cin >> n){if (n[0] > n[1]) swap(n[0], n[1]);if (n[1] > n[2]) swap(n[1], n[2]);if (n[0] > n[1]) swap(n[0], n[1]);cout << n[0] << ' ' << n[1] << ' ' << n[2] << endl;}return 0;}