asp.net(c#)兩種隨機數(shù)的算法,可用抽考題
更新時間:2007年04月13日 00:00:00 作者:
第一種算法,存大一點問題。沒有查出來
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應(yīng)用程序
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];//聲明一個用于保存題號的數(shù)組
int temp;//聲明一個臨時保存隨機值的數(shù)組
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("循環(huán)了"+(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>
/// 應(yīng)用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應(yīng)用程序
int singletitlemeasure=20;//題庫中的數(shù)
int Int1Random;//臨時產(chǎn)生的隨機數(shù)
int[] **i=new int[singletitlemeasure+1];//聲明一個用于保存題號的數(shù)組
bool bflag=true;
bool bFlag=true;
int n=1;//聲明一個表示考試類型的int變量
int i=1;//聲明外循環(huán)數(shù)
switch(n)
{
case 1://表示為單選題
{
do
{
//Random ran=new Random(unchecked((int)DateTime.Now.Ticks));//這樣產(chǎn)生的隨機數(shù)有點規(guī)律
Random ran=new Random(unchecked((int)DateTime.Now.Millisecond));//這樣產(chǎn)生的隨機數(shù)更加隨機一些 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;//聲明內(nèi)循環(huán)數(shù)
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();
//
}
}
}
復(fù)制代碼 代碼如下:
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應(yīng)用程序
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];//聲明一個用于保存題號的數(shù)組
int temp;//聲明一個臨時保存隨機值的數(shù)組
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("循環(huán)了"+(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();
}
復(fù)制代碼 代碼如下:
using System;
namespace Temp
{
/// <summary>
/// Class1 的摘要說明。
/// </summary>
class Class1
{
/// <summary>
/// 應(yīng)用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此處添加代碼以啟動應(yīng)用程序
int singletitlemeasure=20;//題庫中的數(shù)
int Int1Random;//臨時產(chǎn)生的隨機數(shù)
int[] **i=new int[singletitlemeasure+1];//聲明一個用于保存題號的數(shù)組
bool bflag=true;
bool bFlag=true;
int n=1;//聲明一個表示考試類型的int變量
int i=1;//聲明外循環(huán)數(shù)
switch(n)
{
case 1://表示為單選題
{
do
{
//Random ran=new Random(unchecked((int)DateTime.Now.Ticks));//這樣產(chǎn)生的隨機數(shù)有點規(guī)律
Random ran=new Random(unchecked((int)DateTime.Now.Millisecond));//這樣產(chǎn)生的隨機數(shù)更加隨機一些 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;//聲明內(nèi)循環(huán)數(shù)
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();
//
}
}
}
相關(guān)文章
ASP.NET中Web.config文件的層次關(guān)系詳細(xì)介紹
Web.config 是一個基于 XML 的配置文件,該文件的作用是對應(yīng)用程序進(jìn)行配置,下面為大家介紹下ASP.NET中Web.config文件的層次關(guān)系2014-01-01.NET中RDLC循環(huán)處理數(shù)據(jù)的應(yīng)用分析
本篇文章介紹了,.NET中RDLC循環(huán)處理數(shù)據(jù)的應(yīng)用分析。需要的朋友參考下2013-05-05Visual Studio 2010 前端開發(fā)工具/擴(kuò)展/插件推薦
這篇文章主要介紹了一組我喜愛的擴(kuò)展和工具能讓Visual Studio在web開發(fā)方面更簡單,我只是集中在我安裝和使用過的一些工具,如果你還有其它好用的的話,請在這里留言。2016-06-06在Apache環(huán)境下成功的運行ASP.NET的注意事項
在Apache環(huán)境下成功的運行ASP.NET的注意事項...2007-08-08Asp.Net其他頁面如何調(diào)用Web用戶控件寫的分頁
這篇文章主要介紹了Asp.Net其他頁面如何調(diào)用Web用戶控件寫的分頁,需要的朋友可以參考下2014-05-05Ajax實現(xiàn)異步刷新驗證用戶名是否已存在的具體方法
由于要做一個注冊頁面,看到許多網(wǎng)站上都是使用Ajax異步刷新驗證用戶名是否可用的,所以自己也動手做一個小實例2014-02-02