C语言,输入一组数进行排序,由大到小

如题所述

#include<stdio.h>

int main()

{int a[100],n,i,j,t;

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

for(i=0;i<n-1;i++)

for(j=0;j<n-1-i;j++)

if(a[j]<a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

for(i=0;i<n;i++)

printf("%d ",a[i]);

printf("\n");

return 0;

}    

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-23
#include<stdio.h>
#define N 99
void main()
{
int i,a[N],t,j,n=0;

for(i=0;;i++)
{
scanf("%d",&a[i]);
n++;        //计算输入个数
if (getchar()=='\n') break; //遇回车中断
}

for(j=1;j<n;j++)           //N次比较
        for(i=0;i<j;i++)         //每趟中比j次  
            if(a[i]>a[j])            //与a[i]后面的元素进行比较
            {
                t=a[i];a[i]=a[j];a[j]=t;
            }
            printf("排序后:\n");
            for(i=0;i<n;i++) printf("%d ",a[i]);
            printf("\n");
}

本回答被网友采纳
第2个回答  2013-12-23
用数组,将各个数存放其中,再采用冒泡排序或选择排序
第3个回答  2013-12-23
有很多方法呀,你可以搜搜 冒泡排序 或者 选择排序 这2个算法实现起来比较简单

打开百度 搜索 "创建第一个c语言程序" 零基础学软件开发从这里开始吧
相似回答