【题目描述】
三个整数分别为 A,B,C。这三个数字不会按照这样的顺序给你,但它们始终满足条件:
A<B<C。为了看起来更加简洁明了,我们希望你可以按照给定的顺序重新排列它们。
【输入格式】
第一行包含三个正整数 A,B,C,不一定是按这个顺序。
这三个数字都小于或等于 100第二行包含三个大写字母 A、B 和 C(它们之间没有空格)表示所需的顺序。
【输出格式】
在一行中输出 A,B 和 C,用一个 (空格)隔开。
上面题目来自洛谷
下面贴代码
#include<iostream>
using namespace std;
int main() {
int a[3];
char A, B, C;
cin >> a[0] >> a[1] >> a[2];
cin >> A >> B >> C;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
if (a[j] > a[j + 1]) {
swap(a[j], a[ j + 1 ]);
}
}
}
//上面是一个冒泡泡排序,将三个数从小到大依次排列。
cout<< a[A - 65]<<" " << a[B - 65] <<" " << a[C - 65];
//这里是将输入的ABC通过ASCII码和数组联系起来
return 0;
}
以一个初学者的思路解的题,这个题的大意就是输入三个数并且从小到大依次对应ABC,这样,第二行输入的ABC顺序决定输出数字的顺序。
为什么不用sort?rt我刚开始接触c🌿写的时候完全没听过这个函数,所以想到了这种方式来对应。