习题7-1 选择法排序 (20 分)-PTA浙大版《C语言程序设计(第4版)》
2022/1/1 17:09:43
本文主要是介绍习题7-1 选择法排序 (20 分)-PTA浙大版《C语言程序设计(第4版)》,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
样例:">样例:">样例:">样例:">样例:">样例:">样例:">样例:">输入样例:
4 5 1 7 6
结尾无空行
输出样例:
7 6 5 1
结尾无空行
思路:
题目要求是选择法排序
从大到小排序的话就是
1:假定第一个数字是最大的,然后遍历后面的寻找到真正的最大的数字
2:交换真正最大的数字和第一个数字的位置
然后不停循环
1:假定第二个数字是它自己和后面的之中最大的(也就是说假定它是第二大)
然后遍历后面的,寻找到真正的第二大的数字
2:交换真正第二大的数字和第二个数字的位置
总结来说就是,把第一大的找出来放到一个位置那,第二大的找出来放到第二个位置那
简称 众神归位!
变量说明:
max_index : 最大元素的下标
tem :交换的时候用来存储元素的临时变量
#include<stdio.h> int main() { int n = 0, arr[10] = { 0 }; int i = 0, max_index=0, j = 0; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &arr[i]); for (i = 0; i < n - 1; i++) { max_index = i; for (j = i + 1; j < n; j++) if (arr[j] > arr[max_index]) max_index = j; int tem = 0; tem = arr[max_index]; arr[max_index] = arr[i]; arr[i] = tem; } printf("%d", arr[0]); for (i = 1; i < n; i++) printf(" %d", arr[i]); return 0; }
这篇关于习题7-1 选择法排序 (20 分)-PTA浙大版《C语言程序设计(第4版)》的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享