三个数从小到大排序
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
现在要写一个程序,实现给三个数排序的功能
-
输入
- 输入三个正整数 输出
- 给输入的三个正整数排序 样例输入
-
20 7 33
样例输出
-
7 20 33
我的代码:
#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;
}
最优代码:
#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;
}