首页 > 编程语言 >题目 1023: [编程入门]选择排序

题目 1023: [编程入门]选择排序

时间:2023-04-06 20:23:48浏览次数:35  
标签:区中 入门 1023 int 编程 交换 无序 最小值 有序

找出数组无序区中的最小值(最大值),与无序区中第一个数(最后一个数)交换。

例子:5 2 3 1 4

第一轮

无序区最小值是1,将1和无序区中一个数交换:1 2 3 5 4。有序区:1,无序区:2 3 5 4

第二轮

无序区最小值是2,因为2就是无序区的第一个数,所以不用交换:1 2 3 5 4。有序区:1 2,无序区:3 5 4

第三轮

无序区最小值是3,因为3就是无序区的第一个数,所以不用交换:1 2 3 5 4。有序区:1 2 3,无序区:5 4

第四轮

无序区最小值是4,将4和无序区中一个数交换:1 2 3 4 5。有序区:1 2 3 4 (5)

排序完毕:1 2 3 4 5

 

#include <stdio.h>
int main(void) {
    int n[10]={0};
    int i, j, min, temp;    //min是数组n中最小值的下标
    for (i=0; i<10; i++) {
        scanf("%d", &n[i]);
    }
    for (i=0; i<9; i++) {    //i同时也是无序区第一个数的下标
        min = i;    //假设最小值是无序区第一个数
        //寻找最小值的下标
        for (j=i; j<10; j++) {
            if (n[j] < n[min]) {
                min = j;
            }
        }
        //如果最小值不是无序区第一个数,就把最小值和无序区第一个数交换
        if (min != i) {
            temp = n[min];
            n[min] = n[i];
            n[i] = temp;
        }
    }
    for (i=0; i<10; i++) {
        printf("%d\n", n[i]);
    }
    return 0;
}

 

标签:区中,入门,1023,int,编程,交换,无序,最小值,有序
From: https://www.cnblogs.com/su-1007/p/17294031.html

相关文章

  • 微网优化程序 风光储matlab 考虑风光储的微网优化程序,采用matlab编程
    微网优化程序风光储matlab考虑风光储的微网优化程序,采用matlab编程,cplex求解,实现微网各个主体的出力情况,程序注释清楚,运行稳定。YID:4990644757137689......
  • 三菱PLC 结构化编程Q系列整条生产线大型项目
    三菱PLC结构化编程Q系列整条生产线大型项目两台QPLC6台触摸屏以太网通讯机器人控制mesccdRS232串口通讯大量fb,fc通用模块三菱plc大项目程序高级编程三菱PLC结构化编程一整条生产线程序全套资料2台Q系列CPU6台触摸屏CC-LINK IO串口通信扫码枪8台机器人拧紧......
  • 题目 1021: [编程入门]迭代法求平方根
    题目描述用迭代法求平方根公式:求a的平方根的迭代公式为:X[n+1]=(X[n]+a/X[n])/2要求前后两次求出的差的绝对值少于0.00001。输出保留3位小数 一、何为迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性......
  • 【日常】服务器入门补充
    文章目录服务器分类:1.塔式服务器2.机架式服务器3.刀片式服务器服务器电源服务器远程管理卡服务器CPU选型可以从以下网址了解服务器:DELL服务器地址:https://www.dell.com/zh-cn/work/shop/cty/sc/servers?ref=hpg_cat_item5_cta服务器分类:根据外观分类:1.塔式服务器和台式机一样,......
  • 【Linux】循序渐进学运维-服务篇-nginx入门
    文章目录nginx介绍nginx最新版本号nginx与apache的对比1、nginx相对于apache的优点:2.apache相对于nginx的优点:编译安装nginx1.安装依赖包2.下载nginx包3.解压安装a.解压b.编译&&编译安装c.启动d.查看是否启动nginx的目录结构主要的配置参数nginx介绍Nginx(enginex)......
  • C++中的元编程常用工具
    std::forward : 通常是用于完美转发的,它会将输入的参数原封不动地传递到下一个函数中,这个“原封不动”指的是,如果输入的参数是左值,那么传递给下一个函数的参数的也是左值;如果输入的参数是右值,那么传递给下一个函数的参数的也是右值。std::remove_reference_t : 是一个模板......
  • 搜索引擎优化教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介什么是SEO和SEO文案-一个关于搜索引擎优化(SEO)入门教程,以了解什么是SEO和各种SEO工具和技术,包括白帽黑帽Spamdexing和Meta标签关键词主题标题超链接图像网页优化和搜索引擎抓取索引处理相关性计算结果检索隐藏元标记填充门口网关页面劫持搜索引擎优化,又称为SEO,即Searc......
  • 【webserver 前置知识 03】Linux网络编程入门其二,I/O多路复用
    I/O多路复用I/O多路复用使得程序能够同时监听多个文件描述符LInux下实现I/O多路复用的系统调用主要由select、poll以及epoll(常问,要会自己写出来)例子阻塞等待阻塞等待可以一定程度上提高程序运行的效率优点是:不占用cpu的时间片;缺点是:同一时刻只能处理一个操作,效率较低;使用......
  • 实验三 函数应用编程
    3.1#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,col,......
  • k8s入门篇-Kubernetes的基本概念和术语
    1.k8s基本概念概述Kubernetes中的大部分概念如Node、Pod、ReplicationController、Service等都可以被看作一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作并将其保存在etcd中持久化存储。从这个角度来看,Kubernetes......