三个数从小到大排序
-
描述
-
现在要写一个程序,实现给三个数排序的功能
-
输入
- 输入三个正整数 输出
- 给输入的三个正整数排序 样例输入
-
20 7 33
样例输出
-
7 20 33
#include <stdio.h>
int main ()
{
int a, b, c, d, e, f;
scanf ("%d%d%d", &a, &b, &c);
if (a > b && a > c)
{
f = a;
if (b > c)
{
e = b;
d = c;
}
else
{
e = c;
d = b;
}
}
else if (b > c && b > d)
{
f = b;
if (a > c)
{
e = a;
d = c;
}
else
{
e = c;
d = a;
}
}
else if(c > a && c > b)
{
f = c;
if (a > b)
{
e = a;
d = b;
}
else
{
e = b;
d = a;
}
}
printf ("%d %d %d\n", d, e, f);
return 0;
}
自己写的有点水了,好久没练了。
虽说一边写成,但自己本打算引入个max的,但最后思路卡死了。。。。
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
t=a,a=b,b=t; //化成 a > b
if(a<c)
t=a,a=c,c=t; //化成a > c
if(b<c)
t=b,b=c,c=t; //化成b > c
printf("%d %d %d\n",c,b,a);
return 9;
}
思路:先保证三个数,对其中一个求出最大的值,其次在比较后两个数,注意顺序。