C语言程序设计 例7-5

2023-10-28

例7-5 原题:选择排序法。输入一个正整数n(1<n<=10),再输入n个整数,用选择法将它们从小到大排序后输出。
课本给出源程序及我的理解

//选择排序法
#include<stdio.h>
int main()
{
	int i,index,k,n,temp;
	//依次输入用到i,中间量index,从第一项到倒数第二项的k,输入个数n,交换用到中间变量temp 
	int a[10];  //定义一个长度为10的数组 
	printf("Enter n: ");//提示输入数字个数 
	scanf("%d",&n);//获取输入数字n 
	printf("Enter %d integers: ",n);//提示输入数字 
	for(i=0;i<n;i++)
	  scanf("%d",&a[i]);//将数字输入并存入数组中 

	for(k=0;k<n-1;k++)//从第一项到倒数第二项,不断地比较 交换 
	{
		index=k;//使下标等于k,因为是一个变量,所以不直接用k
		//而在比较中,前面已经摆好的数不用再参加比较 
		for(i=k+1;i<n;i++)//i是k的后一项,一直比较到最后一项 
		  if(a[i]<a[index])//如果后项小于前项 
		    index=i;//记录下较小的那个数,不断地改变i,不断地比较,找出最小的那个数 
		    
		    temp=a[index];//找出最小的数后,将这个数和a[k]交换 
		    a[index]=a[k];
		    a[k]=temp;
	}
	printf("After sorted: ");//打印出交换后的数组 
	for(i=0;i<n;i++)
	  printf("%d ",a[i]);
	printf("\n");//换个行,看着美观 
	return 0;
}

课本测试数据

5
3 5 2 8 1

运行结果:
1 2 3 5 8

不求点赞收藏,有错请指出,谢谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言程序设计 例7-5 的相关文章

  • LVS+Keepalived群集

    目录 一 keepalived介绍 二 Keepalived及其工作原理 三 Keepalived原理剖析 四 Keepalived体系主要模块及其作用 实例 NFS服务器 192 168 80 200 主DR 服务器 192 168 30
  • TensorFlow2(版本2.5.0)学习笔记(含keras_bert、W2V)

    目录 一 设置CPU GPU运行环境 二 tf定义变量与简单操作 基于tf2做数据处理 Tokenizer 1 使用TF2实现token2id padding 2 基于gensim 版本 3 8 3 3 基于keras bert bert4
  • threejs物理效果和声音

    个人博客地址 https cxx001 gitee io 一 Threejs中如何创建物理场景 threejs中创建物理场景我们用它的扩展库 Physijs 它可以使场景中的对象有重力效果 可以相互碰撞 施加力之后可以移动 还可以通过合页和
  • Java 导入验证数据最后一行

    description 判断数据最后一行 author lkm date 2023 7 13 17 11 public static boolean isEmptyRow Row row if row null row toString i
  • python安装模块速度太慢了,教你一招提升百倍安装速度

    在python开发中 经常需要使用到各种各样的库 pip又是我们常用的安装工具 但是国外的源下载速度实在太慢 经常导致超时 对于这种情况我们可以修改pip的下载源为国内源 这样就可以大幅度提升下载速度 如何修改源 1 临时更换镜像源 可以通
  • 【代码实践】使用Garch模型估计VaR

    title Value at Risk estimation using GARCH model author Ionas Kelepouris Dimos Kelepouris date July 6 2019 output html d

随机推荐

  • 神经网络基础04-25个神经网络模型

    参考链接 https www toutiao com i6432188985530909186 前言 神经元 卷积神经元 Convolutional cells 和前馈神经元非常相似 除了它们只跟前一神经细胞层的部分神经元有连接 因为它们不
  • G - Card Game

    G Card Gamehttps vjudge csgrandeur cn problem Gym 102263G Zeyad and Ehab are playing a simple card game each player init
  • FISCO BCOS(十六)——— ubuntu安装go语言环境

    1 创建安装目录 mkdir home go 2 下载go安装包 wget https golang google cn dl go1 17 8 linux amd64 tar gz 3 解压go安装包 sudo tar zxvf go1
  • setup.py方式打包自己的python代码并可以用pip install安装

    setup py方式打包自己的python代码并可以用pip install安装 所需文件及目录规范 示例演示 打包静态文件补充说明 引用自己打的包 所需文件及目录规范 注意setup py文件和MANIFEST in文件需要放在和你需要打
  • 扩散模型Diffusion Model 【质量提升2.0】【扩散模型】

    扩散模型Diffusion Model 质量提升2 0 扩散模型 文章目录 扩散模型Diffusion Model 质量提升2 0 扩散模型 一 扩散模型简介 二 前向扩散简介 三 逆向扩散简介 四 目标函数 一 扩散模型简介 其最早出现在
  • 为什么人人都该懂点LLVM

    原文链接 http adriansampson net blog llvm html 作者 Adrian Sampson 译者 张洵恺 只要你和程序打交道 了解编译器架构就会令你受益无穷 无论是分析程序效率 还是模拟新的处理器和操作系统 通
  • 算法入门--递归

    不死神兔 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问第二十个月的兔子对数为多少 规律 1 1 2 2 1 3 2 5 3 这就是暴力美学 不死神兔public class t
  • TF-IDF(词频-逆文档频率)介绍与python实现

    TF IDF term frequency inverse document frequency TF IDF介绍 TF IDF 词频 逆文档频率 是一种用于信息检索 Information retrieval 与数据挖掘 data min
  • 布林通道参数用20还是26_布林线指标参数设置为13、20、26、30、60、99,那个才是最佳?...

    布林线 Boll 指标是通过计算股价的 标准差 再求股价的 信赖区间 很多炒股新人不知道怎么设置布林线的参数 13 20 26 30 60 99那个才是最佳 下面详细介绍 一起来学习吧 布林带指标参数设置多少才最佳 布林带的参数一般默认的情
  • 系统用户名为中文导致PowerShell无法正确操作conda

    本文叙述的问题诱因 系统用户名为中文 本文最后给出了解决方案 并给出了原理猜测 conda版本 4 10 3 系统版本 Win11 专业版 21H2 现象 我在Win11使用Powershell时 发现终端提示 conda没有被初始化 需要
  • Spring系列篇--关于Spring Bean完整的生命周期【附有流程图,超级易懂】

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于Spring的相关操作吧 目录 Welcome Huihui s Code World 一 Spring Bean是单例模式还是多例模式 二 论证Bean是单
  • AMD历代CPU发布时间

    1969年5月1日 AMD公司以10万美元的启动资金正式成立 1997 AMD推出AMD K6处理器 1998 AMD在微处理器论坛上发布AMD速龙处理器 以前的代号为K7 1999 AMD推出AMD速龙处理器 它是业界第一款支持Micro
  • ioctl函数详细分析

    IPv4 和 IPv6 的网络接口操作使用套接字 ioctl 命令 级别 中级 Katiyar Manish manish katiyar in ibm com 软件工程师 IBM Intel Microsoft HPShweta Gupt
  • 显式调用构造函数和析构函数

    今天跟同事聊天 他说到STL源码有用到显示调用析构函数 试一了一下 果然能行 include lt iostream gt using namespace std class MyClass public MyClass cout lt l
  • SqlServer傻瓜教程 — 表备份

    大家好 我们知道类似于ERP这种大型软件 最大的难点就在庞大数据库的整理和维护 表备份顾名思义 是对一个表进行备份 那么我们什么时候需要表备份呢 表备份是在操作大型ERP数据库的某一个表中有重要数据的时候 测试你对此表操作的存储过程 或者测
  • pytorch下import numpy失败_PyTorch的编译系统

    背景 本文以PyTorch 1 0为基础 PyTorch的编译首先是python风格的编译 使用了python的setuptools编译系统 以最基本的编译安装命令python setup py install 为例 这一编译过程包含了如下
  • 两台linux服务器互相自动备份

    将数据同步到其它服务器这里使用Linux同步文件工具rsync来进行文件的同步 rsync rsync是类unix系统下的数据镜像备份工具 remote sync 一款快速增量备份工具 Remote Sync 远程同步 支持本地复制 或者与
  • 【教3妹学算法-leetcode】数组能形成多少数对

    插 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 坚持不懈 越努力越幸运 大家一起学习鸭 3妹 这么热的天气还要持续多久啊 快要被热死了 2哥 感觉还要有一阵子 今天刚入伏 3妹 啊 今年
  • 三极管的工作原理详解,图文+案例

    什么是三极管 三极管全称是 晶体三极管 也被称作 晶体管 是一种具有放大功能的半导体器件 通常指本征半导体三极管 即BJT管 典型的三极管由三层半导体材料 有助于连接到外部电路并承载电流的端子组成 施加到晶体管的任何一对端子的电压或电流控制
  • C语言程序设计 例7-5

    例7 5 原题 选择排序法 输入一个正整数n 1