c语言问题,把一维数组的N(N=10)个元素按由小到大的顺序排序输出

如题所述

根据题意可得代码:

#include<stdio.h>
#define N 10
int main()
{
    int a[N], i, j, k;
    //输入
    for(i = 0; i < N; ++i){
        scanf ("%d", &a[i]);
    }
    //选择排序
    for (i = 0; i < N-1; ++i){
        k = i;
        for (j = i+1; j < N; ++j){
            if (a[k] > a[j]){
                k = j;
            }
        }
        if (k != i){
            j = a[k];
            a[k] = a[i];
            a[i] = j;
        }
    }
    //输出
    for (i = 0; i < N; ++i){
        printf ("%d ", a[i]);
    }
    printf ("\n");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-28
这个简单啊 用一个for循环逐个比较就是 然后再用一个for循环输出比较后的数组就行了
第2个回答  推荐于2017-07-05
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cstring>
#include <algorithm>
using namespace std;
int a[22];
int main()
    {
        int i;
        cout<<"输入10个整数"<<endl;
        for(i=0;i<10;i++)
            cin>>a[i];
        sort(a,a+10);
        for(i=0;i<10;i++)
            cout<<a[i]<<" ";
        return 0;
    }

本回答被网友采纳

相关了解……

你可能感兴趣的内容

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