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();
//
}
}
}
复制代码 代码如下:
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();
//
}
}
}