用C语言描述对于输入的任意三个整数,将它们按从小到大的顺序输出?

 我来答
做一个快乐的茶农
高粉答主

2019-07-13 · 每个回答都超有意思的
知道答主
回答量:1396
采纳率:100%
帮助的人:38.2万
展开全部

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

2、所需要的开头代码,#include "stdio.h"#include "conio.h",预处理命令,表示程序包含conio.h库文件conio.h库文件定义了通过控制台进行数据输入和数据输出的函数。

3、下面这个代码是关键

int x,y,z,t;  scanf("%d%d%d",&x,&y,&z);  if (x>y)

4、然后下一步

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的值*/

这一步的目的是交换各自的数值,使x的数值最小。

5、接下来就是输出和结尾

printf("small to big: %d %d %d\n",x,y,z);  getch(); }。

6、总之就是这样,全部的代码就是输入

#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(); }即可。

帐号已注销
2021-06-22 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:178万
展开全部

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

所需要的开头代码,#include"stdio。h"#include"conio。h",预处理命令,表示程序包含conio。h库文件conio。h库文件定义了通过控制台进行数据输入和数据输出的函数。

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的值*/这一步的目的是交换各自的数值,使x的数值最小。

算法稳定性

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

以上内容参考:百度百科-冒泡排序

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2017-09-26 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450142
专业C/C++软件开发

向TA提问 私信TA
展开全部

1 读入三个数。

2 循环比较大小,令三个数从小到大排序。

3 输出结果。

代码:

#include <stdio.h>
int main()
{
    int a,b,c,t;
    #define swap(m,n){t = m; m = n; n = t;}//交换值宏。
    scanf("%d%d%d",&a,&b,&c);//输入三个数。
    if(a>b) swap(a,b);
    if(a>c)swap(a,c);//经过以上两步,a为最小值。
    if(b>c)swap(b,c);//b比c小。
    printf("%d %d %d\n", a,b,c);//输出结果。
    
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunsyh888
2010-03-08 · TA获得超过1028个赞
知道小有建树答主
回答量:752
采纳率:0%
帮助的人:501万
展开全部
sw(int *p1,int *p2)
{int x;
x=*p1;
*p1=*p2;
*p2=x;
}
ss(int *q1,int *q2,int *q3)
{if(*q1>*q2) sw(q1,q2);
if(*q1>*q3) sw(q1,q3);
if(*q2>*q3) sw(q2,q3);
}
main()
{int a,b,c;
int *i,*j,*k;
scanf("%d,%d,%d",&a,&b,&c);
i=&a;j=&b;k=&c;
ss(i,j,k);
printf("%d,%d,%d\n",a,b,c);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何炜33
2019-01-07
知道答主
回答量:2
采纳率:0%
帮助的人:1522
展开全部
veyfur 5 2 f k · С С ia
cry
qmhsco
uydp
ydqnepk
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式