A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花——九 中级黑马   /  2015-10-20 23:08  /  732 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
int main(){
    /*int a[6]={1,5,3,9,6};
    int max=a[0];
    for (int i=0; i<6; i++) {
        if (a[i]>max) {
            max=a[i];
        }
    }
    printf("最大值是%d\n",max);*/
   
//选择排序
    //要排序的数组
    int a[]={1,2,4,3,8,5};
    //最大的脚标
    int max=0;
    for (int i=0; i<5; i++)//第几轮排序
    {     int max=i;
        for (int j=i+1; j<6; j++)//当前这轮排序的具体实现
        {
            if (a[max]<a[j])//a[j]是否大于先前的“最大值”
            {
                max=j;//如果a[j]大于先前"最大值",改变"最大值的脚标"
            }
        }
        //输出每轮排序的最大值脚标
        printf("第%d轮排序的最大脚标是%d\n",i,max);
        //把找到的最大值和之前的最大值交换
        int temp=a[i];
        a[i]=a[max];
        a[max]=temp;
  }
    for (int k=0; k<6; k++) {
        printf("%d\t"++,a[k]);
    }
      
    return 0;




}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马