c语言 若对任意n个数进行排序,应该如何操作?

发布网友 发布时间:2022-04-23 16:33

我来回答

4个回答

热心网友 时间:2022-04-23 00:40

/*选择排序法:从小到大排列10个数并输出*/
#include<stdio.h>
#define N 10       //可修改输入个数
void main()
{
    int i,a[N],t,j;
    for(i=0;i<N;i++) scanf("%d",&a[i]);   //输入
    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");
}


热心网友 时间:2022-04-23 01:58

首先定义一个可以放十个数的一位数组,
定义三个变量i,j,t。
for后跟循环条件。这个是双循环,进行比较
最后将这十个数安排好的顺序输出,献丑了。

热心网友 时间:2022-04-23 03:32

//选择排序法
int a[10]={5,65,84,6,3,78,47,,9,1};
int i,j,t;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}

热心网友 时间:2022-04-23 05:24

排序的算法非常多啊,建议你找一个数据结构与算法的书看看吧,都是基本知识

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com