当前位置:网站首页>C语言入门实战(14):选择排序
C语言入门实战(14):选择排序
2022-08-03 05:57:00 【liberg】
这是《C语言入门实战》系列的第14篇。
上一篇:C语言入门实战(13):十进制数转二进制
题目
对输入的任意n个(n<=50)1000以内的正整数按升序排序,然后输出,n由用户在程序运行时输入,请编程实现。
要求
每个整数输出时占4个位置,输出格式请采用%4d。
输入输出格式示例:
输入:6<回车>
10 30 90 20 10 80<回车>
输出: 10 10 20 30 80 90
参考代码
#include <stdio.h>
#include <stdlib.h>
// 对数组a中前n个元素
// 进行选择排序
void sort(int a[], int n) {
int i,j;
//每一轮将当前轮(下标范围[i,n-1])最小的元素交换到最前面
for(i=0;i<n-1;i++) {
for(j=i+1;j<n;j++) {
if(a[i]>a[j]) {
//交换a[i]和a[j]
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
int main(int argc, char *argv[]) {
int n;
int a[50];
scanf("%d", &n);
int i;
for(i=0;i<n;i++) {
scanf("%d", &a[i]);
}
sort(a, n);
for(i=0;i<n;i++) {
printf("%4d", a[i]);
}
return 0;
}
代码复盘
- 数组可以定义为
int a[50];,然后根据输入的个数n(n<50),把n个数据存放在数组的前n个元素中,再对a[0]~a[n-1]进行排序。 - 定义了一个排序函数
void sort(int a[], int n) {},内部通过选择排序算法对数组a中的前n个元素进行从小到大排序。
边栏推荐
猜你喜欢
随机推荐
【RT_Thread学习笔记】---以太网LAN8720A Lwip ping 通网络
关于Attention的超详细讲解
Sqoop 导入导出 Null 存储一致性问题
一篇文章教你写扫雷(c语言基础版)
10 common data types in MySQL
MySQL - 视图操作
cnpm的安装与使用
关于任命韩文弢博士代理NOI科学委员会主席的公告
DIFM网络详解及复现
el-tree设置利用setCheckedNodessetCheckedKeys默认勾选节点,以及通过setChecked新增勾选指定节点
信息学奥赛一本通T1450:Knight Moves
keepalived安装部署
PHP 获取服务器信息
Docker-compose安装mysql
MySQL性能优化(硬件,系统配置,表结构,SQL语句)
Scala 高阶(八):集合内容汇总(下篇)
npx 有什么作用跟意义?为什么要有 npx?什么场景使用?
Getting started with el-tabs (tab bar)
pyspark --- 统计多列的众数并一次返回
Chrome configuration samesite=none method







