You will be given three integers A, B and C. The numbers will not be given in that exact order, but we do know that A is less than B and B less than C
. In order to make for a more pleasant viewing, we want to rearrange them in a given order.
Input
The first line contains the three positive integers A
, B and C, not necessarily in that order. The three numbers will be less than or equal to 100
.
The second line contains three uppercase letters ’A’, ’B’ and ’C’ (with no spaces between them) representing the desired order.
Output
Output A
, B and C in the desired order on a single line, separated by single spaces.
Sample Input 1
1 5 3
ABC
Sample Output 1
1 3 5
Sample Input 2
6 4 2
CAB
Sample Output 2
6 2 4
这个题,就是ABC表示从小到大,根据ABC三者的顺序输出三个数。
思路就是把输入的三个数放到数组里,然后排序,然后ABC也放到一个数组里,再if if if ……
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[4];
char str[4];
for(int i=0;i<3;i++){
scanf("%d",&a[i]);
}
sort(a,a+3);
scanf("%s",str);
if(str[0]=='A'&&str[1]=='B')
printf("%d %d %d\n",a[0],a[1],a[2]);
if(str[0]=='A'&&str[1]=='C')
printf("%d %d %d\n",a[0],a[2],a[1]);
if(str[0]=='B'&&str[1]=='A')
printf("%d %d %d\n",a[1],a[0],a[2]);
if(str[0]=='B'&&str[1]=='C')
printf("%d %d %d\n",a[1],a[2],a[0]);
if(str[0]=='C'&&str[1]=='B')
printf("%d %d %d\n",a[2],a[1],a[0]);
if(str[0]=='C'&&str[1]=='A')
printf("%d %d %d\n",a[2],a[0],a[1]);
return 0;
}