c语言:利用随机函数产生20个[120, 834] 之间互不相等的随机数, 并利用选择排序法将其从小到大排序后输出(每行输出5个)

news2024/11/15 12:40:00

利用随机函数产生20个[120, 834] 之间互不相等的随机数,
 并利用选择排序法将其从小到大排序后输出(每行输出5个)

代码如下:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int shenchen(int a[], int n)   //该函数用来生成n个 [ 120, 834 ] 之间互不相等的数
{
    int i;
    srand((unsigned int)time(NULL));
    for (i = 0; i < n; i++)
    {
        a[i] = rand() % (834 - 120 + 1) + 120;
        int j = 0;
        for (j = 0; j < i; j++)
        {
            if (a[j] == a[i])//只要判断后一个的值与前一个值是否相等
            {
                i--;//若重复则重新生成
                break;
            }
        }
    }
    return 0;
}
int paixue(int a[], int n)    //该函数用来对a数组中的n个数利用选择排序法排序
//从小到大排序
{
    int i = 0,min=0,tmp=0;
    for (i = 0; i < n; i++)
    {
        min = i;//令第一个为最小值
        int j = i+1;
        for (j =i+1; j < n; j++)
        {
            if (a[min] > a[j])
            {
                min = j;
            }
        }
            tmp = a[i];
            a[i] = a[min];
            a[min] = tmp;
    }
    return 0;
}
int print(int a[], int n) //该函数用来输出a数组中的n个数,每行输出5个
{
    int i = 0;
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
        if ((i + 1) % 5 == 0)
        {
            printf("\n");
        }
    }
    printf("\n");
    return 0;
}
int main()
{
    int shenchen(int a[], int n);    //该函数用来生成n个 [ 120, 834 ] 之间互不相等的数
    int paixue(int a[], int n);    //该函数用来对a数组中的n个数利用选择排序法排序
    int print(int a[], int n);   //该函数用来输出a数组中的n个数,每行输出5个
    int x[20] = { 0 };
    shenchen(x, 20);
    print(x, 20);
    paixue(x, 20);
    print(x, 20);
    return 0;
}

编译举例子结果如下 :

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

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

相关文章

信息系统项目管理师0126:输入(8项目整合管理—8.6管理项目知识—8.6.1输入)

点击查看专栏目录 文章目录 8.6 管理项目知识8.6.1 输入8.6 管理项目知识 管理项目知识是使用现有知识并生成新知识,以实现项目目标并且帮助组织学习的过程。管理项目过程的主要作用: 利用已有的组织知识来创造或改进项目成果;使当前项目创造的知识可用于支持组织运营和未来…

解决Vscode打开新文件会覆盖旧文件

现象&原因 现象&#xff1a;Vscode左侧点击新文件&#xff0c;右侧重用预览编辑器&#xff0c;新文件会替换旧文件原因&#xff1a; 默认单击是预览编辑器显示&#xff0c;双击是保持打开状态 解决方案 以下两种都可以 设置里搜索 Enable Preview 默认是勾选状态&#x…

京东科技市场与平台运营中心PMO负责人徐雪娇受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 京东集团京东科技市场与平台运营中心PMO负责人徐雪娇女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“AI数字人项目全过程管理实践分享”。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&…

springboot vue 开源 会员收银系统 (4) 分类及商品模块开发

前言 完整版演示 前面我们对会员系统 门店模块开发的开发 完成了门店的基础管理 并与会员相关联 下面我们将开发门店的分类及商品管理 我们分析以下几个重点 分类可以随时禁用不用单独下架某个商品便于管理商品添加应该有图片上传商品设置会员价和散客价便于营销商品应该参与…

解决updateByExample时属性值异常的问题(部分属性值没有使用占位符?进行占位,而是变成了属性的名称)

目录 场景简介代码片断实体类 报错信息排查原因解决测试过程解决方案 场景简介 1、程序将mybatis框架升级为3.5.9版本后执行updateByExample方法时报错 代码片断 Condition condition new Condition(MbCcsSessionConfig.class); condition.createCriteria().andEqualTo(&quo…

[STM32-HAL库]Flash库-HAL库-复杂数据读写-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C6T6

目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.导入Flash库 3.分析地址范围 4.找到可用的地址 5.写入读取普通数据 6.写入读取字符串 6.1 存储相关信息 6.2 存取多个参数 三、总结及源码 一、前言 在面对需要持久化存储的数据时&#xff0c;除了挂载TF卡&#xff0c;我们…

【线段图案】

描述 KiKi学习了循环&#xff0c;BoBo老师给他出了一系列打印图案的练习&#xff0c;该任务是打印用“*”组成的线段图案。 输入描述&#xff1a; 多组输入&#xff0c;一个整数&#xff08;1~100&#xff09;&#xff0c;表示线段长度&#xff0c;即“*”的数量。 输出描述…

.NET Core Web Api Swagger运行异常

遇到的问题 因为新增了一个控制器方法&#xff0c;从而导致在运行Swagger的时候直接报错&#xff0c;异常如下&#xff1a; SwaggerGeneratorException: Conflicting method/path combination "POST api/UserOperationExample" for actions - WebApi.Controllers.Us…

HCIP-Datacom-ARST自选题库__MPLS简答【4道题】

1.如图所示&#xff0c;R1、R2、R3、R4处于同一个MPLS域&#xff0c;且设备之间采用LDP分配MPLS标签&#xff0c;R4为4.4.4.0/24这条FEC的EgressLSR。若想实现R1访问4.4.4.0/24时&#xff0c;R4不需要查询标签表但能够了解该数据的转发优先级&#xff0c;则R3对于该FEC的出标签…

Linux中vim的基本使用

目录 vim中的三种模式以及基本操作命令模式(默认模式)插入模式底行模式 命令模式下的命令底行模式下的命令 vim是Linux和Unix环境下最基本的文本编辑器&#xff0c;类似于windows上的记事本 vim和Visual studio相比&#xff0c;vim并不集成&#xff0c;vim只能用来写代码 VS把写…

第六节 自动装配源码理解

tips&#xff1a;不同版本代码实现有差异。 前面两章了解的流程&#xff0c;就是 SpringBoot 自动转配的核心。 一、自动装配 1.1 什么是 SpringBoot 自动装配? 自动装配是 Spring 框架用来减少配置的显式需求而引入的一个特性&#xff0c;该特性通过 Autowired或者Resource…

Unity Terrain Adjust插件使用教程

一、Terrain Adjust插件介绍 二、插件下载以及导入 1、官方下载地址&#xff1a;Terrain Adjust 2、积分下载地址&#xff1a;Terrain Adjust 下载好之后&#xff0c;回到Unity当中&#xff0c;导入下载好之后的unitypackage包 三、插件使用 1、在使用之前一定要在场景中新…

KuberSphere 安装kubernates

准备机器 最少3台机器 centos Linux 内核&#xff1a;官方建议 3.10 以上 uname -rcontrol 一台 配置 2c 4g worker 二台 配置 2c 4g 3台设备需要用不同的hostname&#xff0c;需要提前修改 hostnamectl set-hostname <新的主机名> # 修改后执行一下命令刷新一下 su -…

【Android】联系人列表补充

真布局--叠起来垂直管 效果展示 部分代码&#xff08;在activity_main&#xff09;里面 <FrameLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"…

自动驾驶决策规划——坐标转换

以下内容来自b站up主忠厚老实的老王&#xff0c;视频链接&#xff1a;自动驾驶决策规划算法序章 总纲与大致目录_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1hP4y1p7es/?spm_id_from333.999.0.0&vd_sourced36e625f376908cfa88ef5ecf2fb0ed8侵删。 决策规划算法…

解除网页禁止选择

控制台输入以下命令 复制&#xff1a;javascript:void(document.body.οncοpy) 可选&#xff1a;javascript:void(document.body.onselectstart) 拖拉&#xff1a;javascript:void(document.body.οnmοuseup)

SecureFX 9.5.2 SecureCRT 9.5.2 官方下载

SecureCRT是一款由VanDyke Software公司开发的终端仿真软件&#xff0c;它提供了类似于Telnet和SSH等协议的远程访问功能。SecureCRT专门为网络管理员、系统管理员和其他需要保密访问网络设备的用户设计。 SecureCRT具有以下特点&#xff1a; 安全性&#xff1a;SecureCRT支持…

什么是安全左移如何实现安全左移

文章目录 一、传统软件开发面临的安全挑战二、什么是安全左移四、安全左移与安全开发生命周期&#xff08;SDL&#xff09;三、安全左移对开发的挑战五、从DevOps到DevSecOps六、SDL与DevSecOps 一、传统软件开发面临的安全挑战 传统软件开发面临的安全挑战主要包括以下几个方…

Stanford-Coursera 算法Week1 笔记

题外话&#xff1a;全文免费放心食用&#xff0c;作者在此求个 三连关注 1. Integer Multiplication&#xff08;引入&#xff09; &#xff08;很小的时候我们就学过&#xff1a;两个数字相乘的算法——将输入(两个数字)转换为输出(它们的乘积)的一组定义良好的规则&#xf…

MVSnet 代码详解(pytorch)

大致过一下MVSnet 论文中核心的点对应代码应该怎么写。 forward 函数需要 照片&#xff0c;映射矩阵&#xff0c;以及深度值。 照片的shape是 &#xff08;1&#xff0c;5,3&#xff0c;1184,1600&#xff09;代表着1个batch,5张图片&#xff0c;然后一次是每张图片的channel和…