C语言程序:依次输入十个数、要求按照从小到大的顺序输出

如题所述

# include <stdio.h>
#define N 10//元素个数
void sort(int a[], int n)//排序函数 
{
     int i=0,j=0,temp;
     
     for(i=0; i<n; i++)
     {
              for(j=i+1; j<n; j++)
              {
                       if(a[j]<a[i])
                       {
                                    temp = a[i];
                                    a[i] = a[j];
                                    a[j] = temp;
                       }
              }
     }
}
int main(void)
{
    int num[N];
    int i;
    for(i=0; i<N; i++) scanf("%d",&num[i]);//输入元素 
    
    sort(num,N);//排序 
    
    for(i=0; i<N; i++) printf("%d ",num[i]);//输出
    return 0;
}

已经测试过了,测试结果:(有问题可以继续追问)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-07
#include <stdio.h>

int main()
{int a[10],i,j,temp;
for(i=0;i<10;i++)
{scanf("%d",&a[i]);
}
for(i=0;i<9;i++)//从小到大输出
{
    for(j=i+1;j<10;j++)
   {

    if(a[i]>a[j])
{
    temp=a[j];
    a[j]=a[i];
    a[i]=temp;
}
   }
}
for(i=0;i<10;i++)
{
    printf("%d\n",a[i]);
}
    return 0;
}

第2个回答  2013-11-20

可以用 冒泡排序等等

#include <iostream>
using namespace std;

int main()
{
int a[10],i,j,t;
for(i=0;i<10;i++)
{
cin>>a[i];
}
for(i=0;i<10;i++)
{
for(j=0;j<9;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}

第3个回答  2013-11-20
#include <stdio.h>

int partions(int l[],int low,int high)
{
int prvotkey=l[low];
l[0]=l[low];
while (low<high)
{
while (low<high&&l[high]>=prvotkey)
--high;
l[low]=l[high];
while

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网