C语言,对10个整数排序,从小到大,怎么写?

如题所述

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    int a[10],i,j,k;
    printf("Input 10 integers...\n");
    for(i=0;i<10;scanf("%d",a+i++));
    for(i=0;i<10;i++){
        for(k=i,j=k+1;j<10;j++)
            if(a[k]>a[j])
                k=j;
        if(k!=i){
            j=a[k];
            a[k]=a[i];
            a[i]=j;
        }
        printf("%d ",a[i]);//顺便打出来看看
    }
    printf("\n");
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-15
#include<stdio.h>
void main ()
{
int t[10];
int i,j,k;

for(i=0;i<10;i++){
scanf("%d",&t[i]);//输入
}

for(i=0;i<10;i++)//扫描
{
for(j=0;j<10;j++)
{
if(t[i]<t[j])//从小到大排列
{
k=t[i];//数组赋值用strcpy不能用=这个方式
t[i]=t[j];
t[j]=k;
}
}
}

for(i=0;i<10;i++){//输出
printf("%d ",t[i]);
}
}本回答被网友采纳
第2个回答  2015-05-19
冒泡,选择,快速,插入,你要那种排序代码?追问

选择

谢谢!

追答

#include
void sort(int*sum)
{
int i,t,j;
for(i=0;isum[j])
{t=sum[i],sum[i]=sum[j];sum[j]=t;}
}
int main()
{
int i;
int sum[10];
for(i=0;i<10;i++)
scanf("%d",sum+i);
sort(sum);
for(i=0;i<10;i++)
printf("%5d",sum[i]);
}

不客气

相似回答