#include<stdio.h>
int main()
{
//该算法的目的是x>y>z
//为了方便理解,我们可以理解为第一个容器的数值>第二个容器的数值>第三个容器的数值
//而x,y,z只是分别用来存放数值的第一个容器,第二个容器,第三个容器
int x, y, z, temp;
scanf_s("%d %d %d", &x, &y, &z);//依次输出x,y,z三个数值
if (x < y)
{
//从x和y中比较出一个大的值放在第一个容器
temp = x;
x = y;
y = temp;
}//使得第一个容器的数值>第二个容器的数值
if (y < z)
{
temp = z;//因为还不确定z在三个数值中是第一大还是第二大还是第三大,所以暂时先用temp将z的值存储起来,
z = y;//x>y,z>y,y的值最小,所以放在第三个容器
//比较x和temp,大的放在第一个容器,小的放在第二个容器,上两行的代码已经确定了最小的那个数,已经被放在了第三个容器
if (x > temp)
{
y = temp;//x>temp的话,即x是最大的,temp是第二大的,所以x就被放在第一个容器,temp就被放在第二个容器
}
else//即x<=temp,此时temp是最大的,x是第二大的,temp放在第一个容器,x放在第二个容器
{
y = x;
x = temp;
}
}
printf("%d %d %d", x, y, z);
}
试写一算法,自大至小依次输出顺序读入的三个整数X,Y和Z的值
于 2019-12-27 15:19:15 首次发布