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;
}

这个只要输入三位数就会有错、、、请问哪里错了?谢谢

代码如下:

#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个回答  2018-12-10

#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个回答  2021-01-10

C语言大小字母输出

第3个回答  2018-03-31
#include <stdio.h>
int main()
{
int t,a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b)                  //每个if语句都用大括号{}包起来
{
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;
}
//原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。

将代码用cmd执行如下:

本回答被网友采纳
第4个回答  2019-12-01
#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;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
相似回答