题目来源:大工慕课 链接
作者:Caleb Sung
题目要求
(18)写一个函数,实现三个数从小到大排序。
题目代码
#include<stdio.h>
/*****FILL**********/
void sort(__________) //根据函数的调用情况,将函数的形参列表补充完整
{
// 在begin和end之间补完函数,实现三个数排序
//************begin************
//************end**************
return;
}
int main()
{
int a,b,c;
printf("请输入三个整数,使用空格分隔,按回车输入结束\n");
scanf("%d%d%d",&a,&b,&c);
sort(&a,&b,&c); //调用函数将三个数从小到大排序。
printf("三个数由小到大为%d,%d,%d \n",a,b,c);
return 0;
}
参考代码
void sort(int *a, int *b, int *c)
{
int tmp;
if(*a>*b){
tmp = *b;
*b = *a;
*a = tmp;
}
if(*a>*c){
tmp = *c;
*c = *a;
*a = tmp;
}
if(*b>*c){
tmp = *c;
*c = *b;
*b = tmp;
}
return;
}