降序排列N个两位不重复的随机整数

本文介绍了一个使用C#编写的程序,该程序生成指定范围内的不重复随机数,并通过内置方法实现逆序排列。此外,还提供了一个自定义的降序排序方法。

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rd = new Random();
            int n = 10;
            int min = 9, max = 100;
            List<int> list1= new List<int>(n);
            for(int i=0;i<=n;)
            {
                int currentn = rd.Next(min,max);
                if (!list1.Contains(currentn))
                {
                    list1.Add(currentn);
                    ++i;
                }
            }
            //descsort(ref  list1);   //降序排列自定义方法
            list1.Sort();
            list1.Reverse();
            Console.Write("/n");
            for (int i = 0; i <= n; i++)
                Console.Write(list1[i] + " ");
            Console.ReadKey();
        }
       

        static List<int> descsort(ref List<int> paralist)
        {
            for (int i = 0; i <= paralist.Count-1; i++)
            {
                for (int j = i; j <= paralist.Count-1; j++)
                {
                    if (paralist[i] < paralist[j])
                    {
                        int temp = paralist[i];
                        paralist[i] = paralist[j];
                        paralist[j] = temp;
                    }
                }
            }
            return paralist;
        }
    }

C语言实训任务 编写一个函数,根据学号生成相应数量的随机质数,并按特定规则排序。具体要求如下: 生成随机质数:函数需生成数量为学号末两位数字相加所得值的随机质数。例如,学号末两位为 23,则生成 5 个随机质数。 排序规则:按照学号末位数字对 3 取余的结果执行同排序规则: 若学号末位 % 3 = 0,将生成的随机质数按升序排列; 若学号末位 % 3 = 1,将生成的随机质数按降序排列; 若学号末位 % 3 = 2,将生成的随机质数先按偶数升序排列,再按奇数升序排列。 命名规范:函数名和变量名需加上自己学号的后两位,以区分同同学的代码。 我的学号:2306010508 一、实训题目 基于学号的随机质数生成与排序算法实现 二、实训目的 掌握 C 语言函数设计与模块化编程方法 理解随机数生成与质数判断的算法逻辑 实现并应用同排序策略(升序 / 降序 / 奇偶分类) 熟悉 C 语言数组操作与流程控制 培养问题分析与代码调试能力 三、任务分析 1. 需求理解 输入:学号(例如 20221010) 处理规则: 生成数量:学号末两位相加(1+0=1 个质数) 排序规则:学号末位 %3=0 → 升序排列 输出:排序后的质数序列 2. 技术要点 随机质数生成算法 冒泡排序实现 函数命名规范(添加学号后缀) 核心算法 质数判断算法 输入:整数n 1. 若n≤1,返回false 2. 若n=2,返回true 3. 若n为偶数,返回false 4. 从3到√n遍历奇数i,若n能被i整除,返回false 5. 返回true 冒泡排序算法(升序) 输入:数组arr,长度n 1. 外层循环i从0到n-2 2. 内层循环j从0到n-i-2 3. 若arr[j] > arr[j+1],交换两者 4. 重复1-3直到排序完成 测试结果 输入:学号20221010 输出: 学号20221010生成的随机质数: 311 3. 验证说明 生成数量验证:末两位 10 → 1+0=1,符合预期 排序验证:单个元素升序排序后结果变 质数验证:311 是质数(只能被 1 和自身整除) 记住我的学号是:2306010508
06-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值