题目:
输入三个整数 x、y、z,请把这三个数由小到大输出。
解题思路:
1、由题目,首先需要输入三个整型数据。
2、三个数由小到大输出,那么我首先想到的是找出三个数中最小的那一个在第一位输出。然后保证剩下两个数的输出位置正确。
3、在本例中,以比较的方式,如果不满足条件的话就交换两个数的值。
4、题目中只涉及到三个数的排序,如果多个数据进行排序可以借助数组来实现。
程序代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
int x, y, z;
int t;//交换中间量
printf("请依次输出x,y,z:");
scanf("%d%d%d",&x,&y,&z);
if(x > y){
t = x;
x = y;
y = t;
}
if(x > z){
t = x;
x = z;
z = t;
}//前两个if保证此时x为最小的那个数
if(y > z){
t = y;
y = z;
z = t;
}
printf("输入的三个数从小到大的排序结果为:%d %d %d\n",x,y,z);
return 0;
}
运行结果:
请依次输出x,y,z:6 8 7
输入的三个数从小到大的排序结果为:6 7 8
请依次输出x,y,z:9 8 7
输入的三个数从小到大的排序结果为:7 8 9