选择排序

本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。

输入格式:

输入的第一行是一个正整数n,表示 在第二行中会有n个整数。

输出格式:

输出选择排序每一步的结果和最终结果。

输入样例:

在这里给出一组输入。例如:

5
3 7 2 9 1

输出样例:

在这里给出相应的输出。例如:

step 1: 1 7 2 9 3 
step 2: 1 2 7 9 3 
step 3: 1 2 3 9 7 
step 4: 1 2 3 7 9 
sorted array: 1 2 3 7 9 

注意:

输出的冒号 : 是英文输入法下的符号,冒号后有一个空格。每个整数后有一个空格。

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

#include <stdio.h>void show(int a[], int size);//定义一个用于输出数值的函数
void select(int a[], int size);//定义一个用于排序的函数int main(void)
{int size;scanf("%d", &size);int a[size];//定义一个长度为size的数组for(int i = 0; i < size; i++){scanf("%d", &a[i]);//输入size个数}select(a,size);//对这组数进行排序printf("sorted array: ");show(a, size);//输出最终排序的结果return 0;
}void select(int a[], int size)//将这组数进行排序
{for(int i = 0; i < size - 1; i++)//外循环进行size-1次,每循环一次让剩下的数中最小的数排在最前面{int min = a[i];//先假设外循环的第一个数为最小数int k = i;//定义一个储存最小值下标的变量for(int j = i + 1; j < size; j++)//内循环遍历i+1及其之后的每一个数{if(a[j] < min)//比较出i之后的数中最小的数{min = a[j];k = j;}}if(i != k)//如果a[i]不是剩下的数中最小的数就交换,如果a[i]就是剩下的数中最小的数那么就不用交换{int temp = a[i];//定义一个空变量用于交换a[i]与最小数a[i] = a[k];//让a[i]与最小的数进行交换a[k] = temp;}printf("step %d: ", i + 1);//输出交换的步骤数show(a,size);//输出每一次交换后的数值}
}void show(int a[], int size)//输出每一次交换后的数值
{for(int i = 0; i < size; i++){printf("%d ", a[i]);}printf("\n");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

园区网络虚拟化应该这样建

下午好&#xff0c;我的网工朋友。 今天和你聊聊怎么建立园区网络虚拟化。 区别于传统园区关注独立的单台设备&#xff0c;虚拟化网络关注全网的整体业务体验&#xff0c;通过iMaster NCE-Campus和VXLAN技术&#xff0c;实现网络资源能够任意灵活调度。 通过虚拟化技术&…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)

在文章【Redis】不卡壳的 Redis 学习之路&#xff1a;从十大数据类型开始入手中我们介绍了Redis常用的10大数据类型&#xff0c;这10大数据类型可并不是直接在底层通过代码实现的&#xff0c;而是通过不同的底层数据结构组合起来的&#xff0c;这篇我们介绍下Redis常用数据类型…

C++静态成员数据

静态成员数据初始化 #include <iostream> class MyClass { public: static int staticVar; // 声明静态变量 static void staticFunction() { std::cout << "This is a static function." << std::endl; } void regularFunction() { std…

three.js纹理贴图不清晰,颜色失真

一. 贴图不清晰 给渲染器加一些配置选项&#xff1a; // 初始化渲染器let renderer new THREE.WebGLRenderer({antialias: true, //抗锯齿// alpha: true})renderer.setPixelRatio(window.devicePixelRatio) // 设置像素比二. 颜色失真 let texture new THREE.Texture…

CSAPP——linux下的 status 函数及进程退出/进程回收详解

status函数是一个系统调用&#xff0c;用于获取子进程的退出状态。它通常在父进程中使用&#xff0c;以便检查子进程是否正常退出或出现错误。 status函数的原型如下&#xff1a; int waitpid(pid_t pid, int *status, int options); pid参数指定要等待的子进程的进程ID stat…

排序算法——快速排序

快速排序是计算机科学中最著名和广泛使用的排序算法之一。自1960年由英国计算机科学家托尼霍尔&#xff08;Tony Hoare&#xff09;发明以来&#xff0c;它以其高效率和简洁的实现而闻名。在本文中&#xff0c;我们将深入探讨快速排序的工作原理、其优缺点&#xff0c;并提供一…

网络安全这条路,如何打怪升级干掉大Boss?

企业对网络安全的重视是挂在嘴上还是落实在行动中&#xff1f;网络安全人员岗位设置是否合理而有效&#xff1f;网络安全从业者最需要什么样的技能培训&#xff1f;网络安全从业者的职业发展路径应该如何规划&#xff1f;一份“网络安全从业人员现状调查”报告&#xff0c;解你…

解决Hbase报错:ERROR: Can‘t get master address from ZooKeeper; znode data == null

文章目录 问题描述解决方案 问题描述 报错了&#xff1a;这啥公司啊&#xff0c;怎么给的文档怎么错这么多&#xff0c;起一服务&#xff0c;集群里总有几个组件报错 继上次Flume 脚本&#xff0c;使用hdfs sink报错了以后&#xff0c;hbase又报错了&#xff0c;报错提示如下&…

与OA完美契合的开放式低代码平台

随着企业数字化转型的加速&#xff0c;越来越多的企业开始寻求能够快速适应业务需求变化、降低IT成本、提高运营效率的信息系统解决方案。OA作为面向企业日常办公需求的信息系统&#xff0c;在提高企业内部协作效率、优化业务流程、降低运营成本方面具有重要的作用。 它涵盖了…

山西电力市场日前价格预测【2023-12-13】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-13&#xff09;山西电力市场全天平均日前电价为331.79元/MWh。其中&#xff0c;最高日前电价为371.77元/MWh&#xff0c;预计出现在11:15。最低日前电价为280.66元/MWh&#xff0c;预计…

OpenHarmony 如何去除系统锁屏应用

前言 OpenHarmony源码版本&#xff1a;4.0release / 3.2 release 开发板&#xff1a;DAYU / rk3568 一、3.2版本去除锁屏应用 在源码根目录下&#xff1a;productdefine/common/inherit/rich.json 中删除screenlock_mgr组件的编译配置&#xff0c;在rich.json文件中搜索th…

Vue中使用echarts@4.x中国地图及AMap相关API的使用

一、此 demo 实现的基本功能 1.中国地图的显示 2.地图点击下钻的功能 3.地图相关组件的使用&#xff0c;例 tooltip… 二、实现思路 初始使用下载本地的中国 geo 格式的 json 数据来绘制地图&#xff0c;点击某一区划&#xff08;例&#xff1a;山东省&#xff09;时&#xff0…

Android13 不能静态注册的几个广播

Android13 不能静态注册的几个广播 文章目录 Android13 不能静态注册的几个广播一、不能静态注册的广播:二、静态注册无法生效的分析1、Intent.java2、其他地方声明了不能静态注册的广播3、为啥静态注册的广播无效&#xff1f;4、其他静态注册无法生效的广播5、其他Android fra…

LeeCode刷题

寻找数组的中心下标 给定一个整数nums&#xff0c;请编写一个能够返回数组“中心下标”的方法 中心下标是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心下标&#xff0c;返回-1.如果数组右多个中心下标&#xff0c;应该返回…

C#中UDP的简单使用+样例

发送&#xff1a; udpClient.Send(bytes, bytes.Length, "127.0.0.1", 11001); --发送的数据是byte类型&#xff0c;指定ip和端口 接收&#xff1a; public MainWindow() {InitializeComponent();udpClient new UdpClient(11001); // 监听端口11001Task.Run(() &g…

SQL Update语句

SQL Update语句 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; SQL Update语句&#xff1a;数据库操作高招解析 数据库是我们搭建查券返利机器人的重要组成部分&…

【计算机设计大赛】冬残奥会可视化系统_附源码—信息可视化赛道获奖项目深入剖析【可视化项目案例-19】

🎉🎊🎉 你的技术旅程将在这里启航! 记得看本专栏里顶置的可视化宝典导航贴哦! 🚀🚀 本专栏为可视化专栏,包含现有的所有可视化技术。订阅专栏用户在文章底部可下载对应案例完整源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不论你…

kafka学习笔记--节点的服役与退役

本文内容来自尚硅谷B站公开教学视频&#xff0c;仅做个人总结、学习、复习使用&#xff0c;任何对此文章的引用&#xff0c;应当说明源出处为尚硅谷&#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;从入门到调优…

Linux命令dmidecode查看主板型号

在 Linux 系统中&#xff0c;可以使用 dmidecode 命令来查看主板型号。dmidecode 是一个工具&#xff0c;它能够读取系统的 DMI&#xff08;Desktop Management Interface&#xff09;信息&#xff0c;包括主板型号、BIOS 版本、CPU 信息等。 要查看主板型号&#xff0c;可以按…

python程序大全(8)——鼠标乱动恶搞小病毒(有资源)

目录 &#x1f3c6;一、前言 &#x1f3c6;二、程序第一版 &#x1f3c6;三、程序大魔改 &#x1f6a9;1、基础改动 &#x1f6a9;2、打包 &#x1f6a9;3、F12保护机制 &#x1f6a9;4、添加开机自启项 &#x1f6a9;5、自己也不懂的线程魔改 &#x1f3c6;四、最终代码 &…