思路:任意三个数按从大到小顺序输出,可以先求出三个数中的最大值和最小值,三个数的和减去最大值和最小值的差就是中间数,接着依次输出。
参考代码:
#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a if(c>max) max=c;
if(min>c) min=c;
printf("从大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
}
/*
运行结果:
2 1 3
从大到小排序:3 2 1
*/
通过冒泡方式实现
#include
int main( )
{
int a = 8,b = 5,c = 78;
int tmp;
if(a {
tmp = a;
a = b;
b = tmp;
}
if(a
tmp = a;
a = c;
c = tmp;
}
if(b < c)
{
tmp = b;
b = c;
c = tmp;
}
printf("%d\t%d\t%d\n", a, b, c);
}
#include "stdio.h"
main()
{
int a[3],i,j,t;
printf("请输入三个数\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=1;j<3;j++)
{
if(a[i] {
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
for(i=0;i<3;i++)
printf("%d ",a[i]);
}