南阳oj_(41)三个数从小到大排序

现在要写一个程序,实现给三个数排序的功能

三个数从小到大排序

时间限制:3000 ms | 内存限制:65535 KB

难度:0

描述

现在要写一个程序,实现给三个数排序的功能

输入

输入三个正整数

输出

给输入的三个正整数排序

样例输入

1
20 7 33

样例输出

1
7 20 33

我用的编译器是CodeBlocks

我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>  
using namespace std;//从小到大排序3个数。。。
int main()
{

int t,a,b,c;
cin>>a>>b>>c;
if (a>b)
{t=a;a=b;b=t;}
if(b>c)
{
t=b;b=c;c=t;
}
if(a>b)
{
t=a;a=b;b=t;
}
cout<<a<<b<<c<<endl;
}

最优代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>  
int main()
{

int a,b,c,an[3],i,t,j,max,flag;
scanf ("%d %d %d",&an[0],&an[1],&an[2]);
for (i=0;i<3;i++)
{
t=max=an[i];
flag=i;
for (j=i;j<3;j++)
if (an[j]>t)
{
max=an[j];
flag=j;
};
t=an[i];
an[i]=max;
an[flag]=t;
}
for (i=2;i>=0;i--)
printf ("%d ",an[i]);
return 0;
}


O(∩_∩)O