输入三个整数x,y,z,请把这三个数由小到大输出。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入三个整数x,y,z,请把这三个数由小到大输出。。相关的知识,希望对你有一定的参考价值。

题目:输入三个整数x,y,z,请把这三个数由小到大输出。。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()

int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
t=x;x=y;y=t; /*交换x,y的值*/
if(x>z)
t=z;z=x;x=t; /*交换x,z的值*/
if(y>z)
t=y;y=z;z=t; /*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
getch();

请问为什么要交换x,y,z的值呵?谢谢了

先比较x,y,如果x大于y,则交换两数的值,也就是把x,y中较小的数放在x中,把较大的数放在y中。使得x<y.
再比较x和z,同样如果如果x小就不交换,如果x大于z,就交换,使得x中存放较小的那个数。
通过以上两步,使得x中存放的就是三个数中最小的数了。
再通过第三次判断,使得y中存放居中的数,z中存放最大的数,这样按x,y,z的顺序打印出来,当然就由小到大排好了。
参考技术A 很简单,设计这个算法人的思想是想X,Y,Z恰好是从小到大排列(从printf可以看出)。这样比较不容易出错,程序也清晰 参考技术B 哥们儿,有没有不采用第三方变量的方法啊 参考技术C a 参考技术D 2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()

int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
t=x;x=y;y=t; /*交换x,y的值*/
if(x>z)
t=z;z=x;x=t; /*交换x,z的值*/
if(y>z)
t=y;y=z;z=t; /*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
getch();

用C语言做,输入三个整数x,y,z,请把这三个数由小到大输出

#include<stdio.h>
int main()

int i,j;
int temp;
int a[3];
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=i;j<3;j++)
if(a[i]>a[j]) // 这里是从小到达排序 如果需要降序排只要把大于号改成小于号!

temp=a[i];
a[i]=a[j];
a[j]=temp;

for(i=0;i<3;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
追问

#include
int main()

int x, y, z, t;
scanf("%d%d%d", &x, &y, &z);
if (x > y) t = x; x = y; y = t;
if (y > z) t = y; y = z; z = t;
if (x > y) t = x; x = y; y = t;
printf("%d %d %d\n", x, y, z);
return 0;

麻烦看下这个对吗?那个简单··嘿嘿····我一点也不懂

追答

这个是对的,输入三个数为x,y,z,然后进行比较。举个例子,假如x=33,y=12,z=24。那么进行比较,x>y,所以t=33,x=12,y=33,实现x与y值的交换,t是中间变量,此时x=12,y=33,z=24。然后比较y与z,y>z,所以t=33,y=24,z=33,实现y与z值的交换。此时的z肯定为最大值,所以继续比较x与y,如果x>y,则将x与y值再交换。例子中的x<y,所以不交换。结果为x=12,y=24,z=33。再输出x,y,z的值

参考技术A #include <stdio.h>
#define N 3
void main()

int a[N],x;
printf("Please input three numbers:\n");
for(int i=0; i<N; i++)

scanf("%d",a+i);

printf("\n");
for(i=0;i<=N-1;i++)

int k=i;
for (int j=i+1;j<=N;j++)

if (a[j]<a[k]) k=j;

x=a[i];
a[i]=a[k];
a[k]=x;

for(i=0; i<N; i++)

printf("%d ",a[i]);



我简单写了一个,不知是否满意,
仅供参考哈!
另外,站长团上有产品团购,便宜有保证
参考技术B scanf("%d%d%d\n", &x, &y, &z); 参考技术C #include<stdio.h>
int main()

int i,j;
int temp;
int a[3];
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=i;j<3;j++)
if(a[i]>a[j])

temp=a[i];
a[i]=a[j];
a[j]=temp;

for(i=0;i<3;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
参考技术D 求c语言编程:
输入三个整数x,y,z,请把这三个数由小到大输出,每行加注释和相应功能

以上是关于输入三个整数x,y,z,请把这三个数由小到大输出。。的主要内容,如果未能解决你的问题,请参考以下文章

编写java程序,输入三个整数x,y,z,请把这三个数由小到大输出

输入三个整数x,y,z,请把这三个数由小到大输出

输入三个整数x,y,z,请把这三个数由小到大输出:用JAVA语言编程

输入三个整数 x,y,z ,请把这三个数由小到大输出?

#题目:输入三个整数 x, y, z,请把这三个数由小到大输出。

C语言,输入三个整数,X, Y,Z,请把这三个数有小到大输出