C 练习实例5
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include <stdio.h>
int main()
{
int x,y,z,t;
printf("\n请输入三个数字:\n");
scanf("%d%d%d",&x,&y,&z);
if (x>y) { /*交换x,y的值*/
t=x;x=y;y=t;
}
if(x>z) { /*交换x,z的值*/
t=z;z=x;x=t;
}
if(y>z) { /*交换z,y的值*/
t=y;y=z;z=t;
}
printf("从小到大排序: %d %d %d\n",x,y,z);
}
以上实例输出结果为:
请输入三个数字: 1 3 2 从小到大排序: 1 2 3
omgzui
862***679@qq.com
参考方法:
omgzui
862***679@qq.com
yuanjuntao
562***029@qq.com
参考实例:
yuanjuntao
562***029@qq.com
dafeng
117***1747@qq.com
参考方法:
dafeng
117***1747@qq.com
半弧寻
ban***un@163.com
利用define宏定义交换数据
半弧寻
ban***un@163.com
WongDark
a12***4@yeah.net
参考方法:
WongDark
a12***4@yeah.net
曲小培
qxp***163.com
参考方法:
曲小培
qxp***163.com
leevmh
992***818@qq.com
参考:
leevmh
992***818@qq.com
小小鸟
965***429@qq.com
参考方法:
小小鸟
965***429@qq.com
阿雪
wxd***108@126.com
三目运算法
return 0; }阿雪
wxd***108@126.com
消逝的航迹云
365***692@qq.com
简化代码如下:
消逝的航迹云
365***692@qq.com
HIT_CCC
117***2963@qq.com
参考方法:
HIT_CCC
117***2963@qq.com
ronnyz
221***8677@qq.com
参考方法:
ronnyz
221***8677@qq.com
big_tree
286***4460@qq.com
看了大家,大家都很厉害,三目运算符没有想到。
我,个人认为,既然是调整 3 个数之间的顺序,方法肯定很多,但要减少内存,加快执行速度,为什么不尝试直接 printf,上面也有些这个思路的,但是我感觉使用 else 跟帅一点(手动滑稽)。
big_tree
286***4460@qq.com