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