题目描述
输入三个整数,然后按照从大到小的顺序输出数值。
要求:用三个指针分别指向这三个整数,排序过程必须通过这三个指针来操作,不能直接访问这三个整数
输出时,必须使用这三个指针,不能使用存储三个整数的变量
输入
第一行输入t表示有t个测试实例
第二行起,每行输入三个整数
输入t行
输出
每行按照从大到小的顺序输出每个实例
在每行中,每个数据输出后都带有一个空格,即使该行最后一个数据输出后也要再输出一个空格
输入样例1
3
2 4 6
88 99 77
111 333 222
输出样例1
6 4 2
99 88 77
333 222 111
#include<iostream>
using namespace std;
int main() {
int T, i, n1, n2, n3;
int *p1=NULL;
int *p2=NULL;
int *p3=NULL;
cin >> T;
for (int i = 0; i < T; i++) {
cin >> n1;
cin >> n2;
cin >> n3;
p1=&n1;
p2=&n2;
p3=&n3;
if (*p1 > *p2 && *p1 > *p3 && *p2 > *p3) {
cout <<* p1 <<" "<< *p2 <<" "<< *p3 <<" "<<endl;
} else if (*p1 > *p2 && *p1 > *p3 && *p3 > *p2) {
cout << *p1 <<" "<< *p3 <<" "<< *p2 <<" "<<endl;
} else if (*p2 > *p1 && *p1 > *p3 && *p2 > *p3) {
cout << *p2 <<" "<< *p1 <<" "<< *p3 <<" "<<endl;
} else if (*p2 > *p1 && *p1 < *p3 && *p2 > *p3) {
cout << *p2 <<" "<< *p3 <<" "<< *p1 <<" "<<endl;
} else if (*p3 > *p1 && *p3 > *p2 && *p1 > *p2) {
cout << *p3 <<" "<< *p1 <<" "<< *p2 <<" "<<endl;
} else if (*p3 > *p1 && *p3 > *p2 && *p2 > *p1) {
cout << *p3 <<" "<< *p2 <<" "<< *p1 <<" "<<endl;
}
}
return 0;
}