假定已经获取题库中的试题号抽取n题组成考题字符串
来源:互联网 发布:域名价格排行榜 编辑:程序博客网 时间:2024/06/02 02:50
问题及代码:
/* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:kt.cpp * 作 者:单昕昕 * 完成日期:2016年3月19日 * 版 本 号:v1.0 * 问题描述: 假定已经获取题库中的试题号,并存放在数组arrayKT中。 例如, int [] arrayKT={10,13,18,19,20,22,30,31...}。 定义一个静态成员方法,该方法实现从上述数组中随机抽出给定数量(n,1<=n<=arrayKT.Length)的考题, 并组成一个考题字符串。 比如,随机从arrayKT中抽取5题组成考题字符串:“10,18,20,22,30”。 要求,组成考题字符串中考题不重复,且一定在数组中存在。自行设计程序验证上述方法正确性。 public static string getKTH(int n,params int [] arrayKT) { //提示:主体中使用random类 } */ using System;using System.Collections;//哈希表必用头文件using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { int [] arrayKT=new int [100]; Random rd = new Random();//Random类,用来产生随机数 Hashtable ht = new Hashtable();//哈希表,这里用来判断是否有重复的数字 int cnt = 0;//计数 for (int i = 0; i < 1000; ++i)//多次循环来保证找到100个不重复的数字 { int temp=rd.Next(1,101);//temp中间变量存储当前产生的随机数 if (!ht.Contains(temp))//如果哈希表中不存在当前随机数 { ht.Add(temp, temp);//添加到哈希表中 arrayKT[cnt] = temp;//添加到题目序号数组中 ++cnt;//题目序号数组计数加一 if (cnt == 100) break; } } //for (int i = 0; i < arrayKT.Length;++i )//测试用 //Console.WriteLine(arrayKT[i]+"*"+i); Console.Write("n="); int n = int.Parse(Console.ReadLine());//输入n,表示要取出的考题数目 Console.WriteLine("考题:"+getKTH(n, arrayKT)); Console.ReadKey(); } public static string getKTH(int n, params int[] arrayKT)//params实现方法形参个数可变 { StringBuilder kt = new StringBuilder();//题目序号字符串 for (int i = 0; i < n-1; ++i) { kt.Append(arrayKT[i].ToString() + ",");//向StringBuilder实例尾端追加字符串 } kt.Append(arrayKT[n-1].ToString());//为了保证输出格式,末尾一个数字后面没有逗号 return kt.ToString();//返回新生成的题目序号字符串 } }}
运行结果:
其实其他的都很简单,就是还要写个哈希表判断有木有重复的~~
1 0
- 假定已经获取题库中的试题号抽取n题组成考题字符串
- C#程序设计(十三)----获取题库中的试题号
- 随机抽取题库的题
- C#实例之从题库总随机抽取题号
- java面试题--获取重叠字符串的个数组成一个新字符串
- 《从题库中随即抽取题号——C#第九周》
- 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成
- 请编写一个方法,将字符串中的空格全部替换为“ ”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
- UVALive 6257 Chemist's vows 判断一个字符串是否由n中的某些字符串组成 dp
- 翻转子串(思路:假定两个字符串已经是翻转)
- Testinside考题大师题库全面降价
- 看一道IBM面试题 - 要注意沟通中的隐含假定
- 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string
- 空格替换 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一
- 选择题库中的试题动态生成试卷(word格式)
- C#考题字符串
- 有个字符串由N个符号组成……
- char 组成的字符串循环右移N位
- SmartUpload中文API
- 18. Comparable 与Comparator区别
- C# 第一个窗体的数据传递到第二个窗体上应用
- android布局属性大全
- Linux下的shell
- 假定已经获取题库中的试题号抽取n题组成考题字符串
- Viewpager动态添加删除Fragment
- 29. Divide Two Integers
- HDU 4452 Running Rabbits [模拟]
- jquery动态创建json
- 前台html和后台cs代码分离情况下的,控件对应声明
- HTML5 - Voide标签
- ListView 去除黄色背景
- 深入理解Java虚拟机笔记---内存分配与回收策略