首页 > 其他分享 >用选择法对10个整数排序(降序)。

用选择法对10个整数排序(降序)。

时间:2024-11-30 18:32:32浏览次数:11  
标签:10 法对 temp ++ max 降序 int printf

大学作业,运行不了就把每个for循环里面的int提出来,括号内保留i就行了!!!!!多的我不说了,代码放地下自取自拿,某人在这里求个赞,陆续会更新实验3-5,所有作业都有复制版和详解版,记得关注,谢谢各位:

自取版:

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


 

详解版:

// 引入标准输入输出库

#include <stdio.h>



int main() {

    // 定义一个长度为10的整型数组

    int a[10];

    // i用于外层循环,j用于内层循环,temp用于交换,max记录最大值的下标

    int i, j, temp, max;

   

    // 提示用户输入数据

    printf("请输入10个整数:\n");

    // 循环读入10个整数

    for (i = 0; i < 10; i++) {

        scanf("%d", &a[i]);

    }

   

    // 选择排序算法的外层循环,执行n-1次

    for (i = 0; i < 9; i++) {

        // 假设当前位置i的元素最大

        max = i;

        // 内层循环,从i+1位置开始查找最大值

        for (j = i + 1; j < 10; j++) {

            // 如果找到比当前最大值更大的元素

            if (a[j] > a[max]) {

                // 更新最大值的下标

                max = j;

            }

        }

        // 如果最大值不是当前位置,则交换元素

        if (max != i) {

            // 使用temp临时变量完成交换

            temp = a[i];

            a[i] = a[max];

            a[max] = temp;

        }

    }

   

    // 输出排序后的结果提示

    printf("降序排列后的结果是:\n");

    // 循环输出排序后的数组

    for (i = 0; i < 10; i++) {

        printf("%d ", a[i]);

    }

    // 输出换行符

    printf("\n");

   

    // 程序正常结束

    return 0;

}

这段代码实现了选择排序算法,主要特点:

  • 使用选择排序实现降序排列
  • 每次从未排序部分选择最大的元素
  • 将找到的最大元素放到已排序部分的末尾
  • 时间复杂度为O(n²)
  • 空间复杂度为O(1),只使用了一个临时变量

排序过程是稳定的,通过不断选择剩余元素中的最大值,最终实现整个数组的降序排列。

记得点赞,谢谢各位~

标签:10,法对,temp,++,max,降序,int,printf
From: https://blog.csdn.net/2401_87636602/article/details/144158251

相关文章

  • WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-产品功能介绍
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明研发此......
  • ADI公司推出多款用于无线通信设备和数据处理的 ADUM7703-8BRIZ/ADL6010SCPZNHMC342LC4
    ADI公司推出多款用于无线通信设备和数据处理的ADUM7703-8BRIZ/ADL6010SCPZNHMC342LC4TR/ADAU1772BCPZ器件ADAU1772BCPZ是一款具有四个输入和两个输出的编解码器,内置数字处理引擎,可执行滤波、电平控制、信号电平监控和混合。从模拟输入至DSP内核再到模拟输出的路径经过优化,实现......
  • [luoguP3810] 三维偏序
    题意有$n$个元素,第$i$个元素有$a_i,b_i,c_i$三个属性,设$f(i)$表示满足$a_j\leqa_i$且$b_j\leqb_i$且$c_j\leqc_i$且$j\nei$的\(j\)的数量。对于$d\in[0,n)$,求$f(i)=d$的数量。sol先来考虑类似的二维偏序,即删去\(c_i\)......
  • 川土微CA-IS3082WX替代ISO3082DW、ISO1410、ISO1412B、P2P替代ADM2481
    川土微隔离式RS485收发器芯片CA-IS3080WX2.375~5.53.0~5.5V全双工0.5Mbps5000VRMSSOIC16-WBCA-IS3086WX2.375~5.53.0~5.5V全双工10Mbps5000VRMSSOIC16-WBCA-IS3082WX2.375~5.53.0~5.5V半双工0.5Mbps5000VRMSSOIC16-WBCA-IS3082WNX2.375~5.5......
  • 09.ES13 10.ES14
    9.1、class扩展9.1.1、类成员声明在ES13之前,我们只能在构造函数里面声明类的成员,而不能像其他大多数语言一样在类的最外层作用域里面声明成员。不过ES13出来之后,这都不算什么事儿了。现在我们终于可以突破这个限制,写下面这样的代码了:classCar{color='blue';age=......
  • 基于Ubuntu2410搭建openstack-D版
    @目录初始化环境安装数据库、memcahe、rabbitmq等服务安装keystone服务安装glance服务安装placement服务安装nova服务安装neutron服务安装horizon服务启动云主机本次实验使用单节点搭建,Ubuntu2410系统:搭建openstack-D版,采用ovs网络组件,最终创建云主机,并实现远程连接和访问外网初......
  • 2024-11-30:质数的最大距离。用go语言,给定一个整数数组 nums,请找出两个(可以是相同的)质
    2024-11-30:质数的最大距离。用go语言,给定一个整数数组nums,请找出两个(可以是相同的)质数在该数组中的下标之间的最大距离。提示:nums的长度在[1,3*10^5]之间。nums的每个元素的值在[1,100]。输入保证nums中至少有一个质数。输入:nums=[4,2,9,5,3]。输出:3。解释:nums[1]......
  • 聊一下怎么10分钟速水中危CVE
    题目是真的。今天晚上刚接触关于CVE的审计和提交。只能说:牛逼的是真牛逼,水的是真水。我接下来教你,怎么在10分钟里找到一个CVE的中危漏洞并且提交。然后你就可以去咸鱼接单了,一个一铂快打开https://code-projects.org/随机找一个水项目打开网站,点击语言,选择PHP。我们直接在首页......
  • 每日速记10道java面试题03
    其他资料每日速记10道java面试题01-CSDN博客每日速记10道java面试题02-CSDN博客目录一、你使用过java的反射机制吗?如何应用反射?二、什么是泛型?泛型的作用是什么?三、java的泛型擦除是什么?四、Java中的深拷贝和浅拷贝有什么区别?五、什么是Java的Integer缓存池?六......
  • 10
    2024-2025-120241310《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>作业正文...本博客链接教材学......