欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net(c#)两种随机数的算法,可用抽考题

程序员文章站 2023-11-03 22:35:58
第一种算法,存大一点问题。没有查出来 复制代码 代码如下:static void main(string[] args) ...
第一种算法,存大一点问题。没有查出来 
复制代码 代码如下:

static void main(string[] args) 

// 
// todo: 在此处添加代码以启动应用程序 
int singletitlemeasure=5; 
int n=1;//声明一个表示考试类型的int变量 
random ran=new random(unchecked((int)datetime.now.ticks)); 
int int1random; 
switch(n) 

case 1://表示为单选题 

int i=1,k=1; 
int[] **i=new int[singletitlemeasure+1];//声明一个用于保存题号的数组 
int temp;//声明一个临时保存随机值的数组 
int1random=ran.next(1,singletitlemeasure); 
**i=int1random; 
console.writeline("**i["+i+"]="+**i); 
do 
{ k=1; int1random=ran.next(1,singletitlemeasure); temp=int1random; console.writeline("temp:"+temp); do { if(temp!=**i[k]) { 
console.writeline("**i["+k+"]="+**i[k]); 
k++; 
console.writeline("循环了"+(k-1)+"次"); 

else 

i--; 
console.writeline("i="+i); } }while(k<i); i++; **i=temp; console.writeline("**i["+i+"]="+**i); }while(i<=singletitlemeasure-1); for (i = 1; i <=5; i++) 
{ console.write("int1random="); console.writeline(**i); 
} break; 

case 2://表示为多选题 { console.writeline("int2random="); break; 

case 3://表示为判断题 

console.writeline("int3random="); 
break; 

default: 
{ console.writeline("invalid selection. please select 1, 2, or 3."); 

break; 

console.read(); 


复制代码 代码如下:

using system; 
namespace temp 

/// <summary> 
/// class1 的摘要说明。 
/// </summary> 
class class1 

/// <summary> 
/// 应用程序的主入口点。 
/// </summary> 
[stathread] 
static void main(string[] args) 

// 
// todo: 在此处添加代码以启动应用程序 
int singletitlemeasure=20;//题库中的数 
int int1random;//临时产生的随机数 
int[] **i=new int[singletitlemeasure+1];//声明一个用于保存题号的数组 
bool bflag=true; 
bool bflag=true; 
int n=1;//声明一个表示考试类型的int变量 
int i=1;//声明外循环数 
switch(n) 

case 1://表示为单选题 

do 

//random ran=new random(unchecked((int)datetime.now.ticks));//这样产生的随机数有点规律 
random ran=new random(unchecked((int)datetime.now.millisecond));//这样产生的随机数更加随机一些 int1random=ran.next(1,singletitlemeasure+1); 
//**i=int1random; 
//console.writeline("**i["+i+"]="+**i); 
console.writeline("int1random="+int1random); 
int temp=int1random; 
if( bflag==true) 

**i=int1random; 
console.writeline("**i["+i+"]="+**i); 
bflag=false; 
i++; 

else 

bflag=true; 
int k=1;//声明内循环数 
do 

if(temp==**i[k]) 

//console.writeline("**i["+k+"]="+**i[k]); 
bflag=false; 
break; 

k++; 
}while(k<i); 
if( bflag==true) 

**i[k]=temp; 
console.writeline("**i["+i+"]="+**i); 
i++; 


}while(i<=5); 

for(i=1;i<=5;i++) 

console.writeline("**i["+i+"]="+**i); 

break; 

case 2://表示为多选题 

console.writeline("int2random="); 
break; 

case 3://表示为判断题 

console.writeline("int3random="); 
break; 

default: 

console.writeline("invalid selection. please select 1, 2, or 3."); 

break; 

console.read(); 
//