杭电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;
}
~~~