题目描述
输入三个整数,然后按照从大到小的顺序输出数值。
要求:定义一个函数,无返回值,函数参数是三个整数参数的引用,例如int &a, int &b, int &c。在函数内对三个参数进行排序。主函数调用这个函数进行排序。
要求:不能直接对三个整数进行排序,必须通过函数而且是引用的方法。
要求:输出必须在主函数进行。
输入
第一行输入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>
#include<algorithm>
using namespace std;
//交换
void swap(int& x, int& y)
{
int t = x;
x = y;
y = t;
}
//比大小
void fn1(int& x, int& y, int& z)
{
if (z > y)
{
swap(y, z);
}
if (y > x)
{
swap(x, y);
}
if (z > y)
{
swap(y, z);
}
}
int main()
{
int t, a, b, c;
cin >> t;
while (t--)
{
cin >> a >> b >> c;
fn1(a, b, c);
cout << a << ' ' << b << ' ' << c << endl;
}
}
tip:引用
&x = a
这样子x跟a使用同一块内存 ;大白话:x就是a,a就是x。
常用于自定义函数(如本题)