程序分析:
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。在这里使用的是指针的方式传递。
程序源代码:
#include <stdio.h>
int min(int *x,int *y,int *z)
{
int a;
if(*x>*y) //比较x和y的值
{
a=*x;
*x=*y;//x>y,把y的值赋给x
*y=a;
}
if(*x>*z)//比较x和z的值
{
a=*x;
*x=*z;//x>z,把z的值赋给x
*z=a;
}
if(*y>*z)//比较y和z的值
{
a=*y;
*y=*z;//y>z,把z的值赋给y
*z=a;
}
return 0;
}
int main()
{
int x,y,z;
printf("请输入x,y,z:\n");
scanf("%d%d%d",&x,&y,&z);//输入x,y,z
min(&x,&y,&z);
printf("从小到大输出为:%d %d %d\n",x,y,z );
return 0;
}