用简化的桶排序,再用if判断输出就行
附AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c, n[3], j = 0;//n为排序用数组,j为排序时下标
char s[3];//s为输出顺序
cin>>a>>b>>c;//输入数据
cin>>s;
for(int i=1; i<=100; ++i)//循环排序【排序】
{
if(i == a)//如果是a,就把它放在第一位(最小)
{
n[j] = a;
++j;
continue;
}
if(i == b)//同上
{
n[j] = b;
++j;
continue;
}
if(i == c)//同上
{
n[j] = c;
++j;
continue;
}
if(j ==3)//如果三个数顺序已经排好,退出循环
break;
}
for(int i=0; i<3; ++i)//选择输出【输出】
{
if(s[i] == 'A')//检查顺序
cout<<n[0];
if(s[i] == 'B')
cout<<n[1];
if(s[i] == 'C')
cout<<n[2];
cout<<' ';
}
return 0;//结束程序
}