第一種演算法,存大一點問題。沒有查出來
複製代碼 代碼如下: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();
//
}
}
}