您的位置:首页 > 其它

随机获取题目中的试题号(注意函数的要求上下界包不包含)

2017-04-21 15:55 260 查看
问题:

随机获取题目中的试题号(输入边界值25就不运行了)

代码:

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

namespace 张晴晴
{
class Program
{
static void Main(string[] args)
{
int[] arrayKT = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,25};//定义题库里面的试题

Console.WriteLine("请输入您将要抽取的题目数量:");
int n = int.Parse(Console.ReadLine());
string s = test.getKTH(n, arrayKT);//类名引用静态方法
Console.WriteLine("你抽取的题号是:" + s);

Console.ReadKey();
}
}
class test
{

public static string getKTH(int n, params int[] arrayKT)
{
if (n > arrayKT.Length)
{
//Console.WriteLine("您输入的题目数目超出题库中的题目总数。");
return "您输入的题目数目超出题库中的题目总数。";
}
else
{

string str ="";
Random r = new Random();

while(n>0)
{
int sj = r.Next(0, 25);
if (arrayKT[sj] != 0)//随机数不是重复的题号
{
if (n >= n - 1)
{
str = str.Insert(str.Length,arrayKT[sj].ToString());
str=str.Insert(str.Length,",");
}

else
{
str.Insert(0, arrayKT[sj].ToString());//最后一个后面没有必要再加逗号

}

arrayKT[sj] = 0;
n--;//选出来一个数后减一个

}
else//随机数有重复的题号
{
sj = r.Next(0, 25);//再选一次
}
}
return str;
}

}
}
}

运行结果:






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐