rtuiop772 2021-12-30 09:56 采纳率: 40%
浏览 57
已结题

用选择法将数组排成升序的函数 array1;

用选择法将数组排成升序的函数 array1;

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2021-12-30 09:58
    关注
    #include <stdio.h>
    int main()
    {
        int i = 0;         //定义一个i并且赋初值为0,i作为数组的下标
        int j = 0;      //定义j并且赋初值为0,j作为找到最大值时所对应的下标
        int k;            //定义一个k,用来保存此次循环中最大值的下标
        int temp;         //定义一个中间变量temp,供以后交换值的时候使用
        int array1[]={4,5,6,72,1,7,9,3,};    //定义了一个9个数的数组,并且初始化
        int len = sizeof(array1)/sizeof(array1[0]);  //len是数组的大小
        for(i = 0;i<len;i++)        //判断i是否小于len,执行下面的语句
        {
            k = i;           //假设此次循环中的最大值就是当前的值   
            for(j = i+1;j<len;j++)
            {
                if(array1[j]>array1[k])    //将假设的当前最大值与后面的值比较
                {
                    k = j;     //若后面的值更大,则交换下标
                }
            },当前最大值
            if(k != i)       //比较之后如果此次循环中最大值并非当前值
            { 
                temp = a[i];   //将此次循环中的最大值与a[k]交换
                a[i] = a[k];
                a[k] = temp;
            }
        }
        for(i=0;i<len;i++)       //利用for循环将结果依次输出
        {
            printf("%d ",array1[i]);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集