C语言中 怎么对任意三个整数排序(从小到大)?

如题所述

#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",c,b,a);
return 0;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-18
#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",c,b,a);
return
0;
}
原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。
第2个回答  推荐于2018-02-26
#include<stdio.h>
void pai();
main(){
int a[3],i;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
pai();
for(i=0;i<3;i++)
printf("%d",a[i]);
}
void pai(){
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<2;j++)
if(a[i]>a[j])
{
t=a[j];
a[j]=a[i];
a[i]=a[j];
}
}

排序一下就行 仔细看看 理解是王道
采纳哦~本回答被提问者和网友采纳
第3个回答  2020-01-28
#include"stdio.h"
main()
{
int a, b, c, x, y;
printf("请输入三个整数,每个数之间用逗号隔开\n");
scanf("%d,%d,%d", &a, &b, &c);
if (a < b)
;
else
x = a, y = b, a = y, b = x;
if (b < c)
;
else
x = b, y = c, b = y, c = x;
if (a < b)
;
else
x = a, y = b, a = y, b = x;
printf("三个整数按照从小到大的排序方式结果如下\n%d,%d,%d\n", a, b, c);
}
仔细看看,可能会有点绕
第4个回答  2010-05-02
void pai();
main(){
int a[3],i;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
pai();
for(i=0;i<3;i++)
printf("%d",a[i]);
}
void pai(){
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<2;j++)
if(a[i]>a[j])
{
t=a[j];
a[j]=a[i];
a[i]=a[j];
}
}