C 练习实例37 - 排序

C 练习实例37 - 排序

题目: 对10个数进行排序。

程序分析: 可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。

实例

复制代码
//  Created by www.codingdict.com on 15/11/9.
//  Copyright © 2013年 编程字典. All rights reserved.
//

#include<stdio.h>
#define N 10
int main()
{
    int i,j,a[N],temp;
    printf("请输入 10 个数字:\n");
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N-1;i++)
    {
        int min=i;
        for(j=i+1;j<N;j++)
            if(a[min]>a[j]) min=j;
        if(min!=i)
        {
            temp=a[min];
            a[min]=a[i];
            a[i]=temp;
        }
    }
    printf("排序结果是:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}

以上实例输出结果为:

复制代码
请输入 10 个数字:
23 2 27 98 234 1 4 90 88 34
排序结果是:
1 2 4 23 27 34 88 90 98 234
相关推荐
超级大只老咪12 分钟前
快速进制转换
笔记·算法
m0_7066532333 分钟前
C++编译期数组操作
开发语言·c++·算法
故事和你9143 分钟前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
qq_423233901 小时前
C++与Python混合编程实战
开发语言·c++·算法
TracyCoder1231 小时前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
m0_715575341 小时前
分布式任务调度系统
开发语言·c++·算法
naruto_lnq1 小时前
泛型编程与STL设计思想
开发语言·c++·算法
zxsz_com_cn2 小时前
设备预测性维护算法分类及优劣势分析,选型指南来了
算法·分类·数据挖掘
m0_748708052 小时前
C++中的观察者模式实战
开发语言·c++·算法