杭电ACM大赛2000关于ASCII码排序的问题

最后更新于:2022-04-01 09:47:24

~~~ #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; } ~~~
';