第一种算法,存大一点问题。没有查出来 
复制代码 代码如下:
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();  
//  
}  
}  
} 
您可能感兴趣的文章:
