思路:
a与b比较,c与d比较,假设b大于a,a与b的值互换;d大于c,d与c的值互换。那么这时的排列顺序为:b、a、d、c,已知b在a前,这时只需要将b与d、c做对比,就让这四个整数能由大到小的顺序输出
代码:
#include <stdio.h>
//声明函数
void printf_number_down(int a,int b,int c,int d);
int main()
{
//声明并定义变量
int a,b,c,d;
//变量初始化
a=0,b=0,c=0,d=0;
//输入四个数值
scanf("%d%d%d%d",&a,&b,&c,&d);
//调用函数并传参
printf_number_down(a,b,c,d);
}
void printf_number_down(int a,int b,int c,int d)
{
//用于暂时存储变量
int temp = 0;
//如果a小于b那么a跟b互换
if(a<b)
{
temp = a;
a = b; //a等于b值
b = temp; //b等于a值
}
//如果c小于d那么c跟d互换
if(c<d)
{
temp = c;
c = d;
b = temp;
}
//如果a小于c那么a跟c互换
if(a<c)
{
temp = a;
a = c;
c = temp;
}
//如果b小于d,b与d互换
if(b<d)
{
temp = b;
b = d;
d = temp;
}
//如果b小于c,b与c互换
if(b<c)
{
temp = b;
b = c;
c = temp;
}
printf("\n%d %d %d %d",a,b,c,d);
}