问题描述
编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。
输入格式:输入只有一行,即三个整数,中间用空格隔开。
输出格式:输出只有一行,即排序后的结果。
输入输出样例
样例输入
9 2 30
样例输出
30 9 2
主要思想:本题十分简单,但是我对于sort用法不够熟练,在这里根据这个简单题目的代码小做总结。
sort默认的排序方式是对所给数组进行从小到大的排序,若该数组不是直接比较对象,比如要比较的是结构体数组的成员,又或者需要以从大到小的方式进行比较,则需要重新写compare函数。
#include<stdio.h>//排序
#include<algorithm>
using namespace std;
int a[4];
bool compare(int b1,int b2){//comepare函数,返回类型为bool型
return b1>b2;//从大到小的顺序
}
int main(){
for(int i=0;i<3;i++)
scanf("%d",&a[i]);
sort(a,a+3,compare);//sort的基本结构
for(int i=0;i<2;i++)
printf("%d ",a[i]);
printf("%d\n",a[2]);
return 0;
}