asp.net(c#)兩種隨機數的演算法,可用抽考題

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.