C语言ABC三个数从小到大排序

如题所述

你好!
请参考:先输入有几个数参加排序,你也可以直接三个数排序的……

#include<stdio.h>
void main()
{
int q;
printf("请输入要排序的数字的个数:");
scanf("%d",&q);
int a[q];
int i,j,t;
printf("%d个数字排序。\n\n\n\n\nPlease input %d numbers:",q,q);
for(i=0;i<q;i++)
scanf("%d",&a[i]);
printf("\n");

for(j=0;j<q;j++)
for(i=0;i<q-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("排序好的数组为:\n");
for(i=0;i<q;i++)
printf("%d ",a[i]);
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-28
选择法排序:
#include <stdio.h>
#define N 3
main()
{int i,j,m,p,a[N];
printf("Input A B C\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{p=i;
for(j=i+1;j<N;j++)
if(a[p]>a[j]) p=j;
if(p!=i)
{m=a[p];
a[p]=a[i];
a[i]=m;
}}
for(i=0;i<N;i++)printf("%5d",a[i]);
}