c语言:3个数abc,按大小顺序输出

如题所述

代码如下:

#include <stdio.h>
int main()
{
int t,a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a,a=b,b=t;
}
if(a<c)
{
t=a,a=c,c=t;
}
if(b<c)
{
t=b, b=c, c=t;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。

拓展资料

1、冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

2、它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

3、这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

资料来源:百度百科:冒泡排序

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-11-12

#include <stdio.h>

int main()

{

int t,a,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a<b)

{

t=a,a=b,b=t;

}

if(a<c)

{

t=a,a=c,c=t;

}

if(b<c)

{

t=b, b=c, c=t;

}

printf("%d %d %d\n",a,b,c);

return 0;

}

原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。

扩展资料:

C语言冒泡算法

泡排序算法的运作如下:

1、比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

本回答被网友采纳
第2个回答  2016-01-26
#include <stdio.h>
int main()
{
int t,a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a,a=b,b=t;
}
if(a<c)
{
t=a,a=c,c=t;
}
if(b<c)
{
t=b, b=c, c=t;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
第3个回答  2007-07-28
main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=a;a=b;b=t}
if(a<c)
{t=a;a=c;c=t}
if(b<c)
{t=b;b=c;c=b}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}

楼上那位,他也没有说非得是整形啊,所以用int是不是不太好,用实形float吧,要不出错误的。

这个程序是从大到小输出,从小到大的话,把a<b,a<c,b<c改成a>b,a>c,b>c就好了
第4个回答  推荐于2018-02-22
#include "stdio.h"
#include "conio.h"
main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{t=a;x=b;b=t;} /*交换a,b的值*/
if(a>c)
{t=c;c=a;a=t;} /*交换a,c的值*/
if(b>c)
{t=b;b=c;c=t;} /*交换c,b的值*/
printf("small to big: %d %d %d\n",a,b,c);
}本回答被提问者和网友采纳
相似回答