当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net(c#)两种随机数的算法,可用抽考题

ASP.NET
Visual Studio.Net 内幕(7)
.Net 2.0 原汁原味读取注册表
ASP.NET 2.0中预设的cookie
ASP.NET:一段比较经典的多线程学习代码
ASP.NET2.0服务器控件之自定义状态管理
Asp.net给站点某目录增加Aspnet用户
ASP.NET技巧:请求网址并解析返回的html
在Asp.net用C#建立动态Excel
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET技巧:数据岛出到Excel最为简易的方法
第一次用.net2.0 LOGIN登陆控件的困惑和解决方法
在ASP.net中保存/取出图片入/从SQL数据库
ASP.NET技巧:做个DataList可分页的数据源
在.NET中利用委托实现窗体间通信
在.NET2.0中使用自定义事务操作
解决 ASP.NET中目录访问权限的问题
ASP.Net防止刷新自动触发事件的解决方案
白刃之战:PHP vs. ASP.NET(节选)-架构比较
C#中使用SendMessage
提取HTML代码中文字的C#函数

ASP.NET 中的 asp.net(c#)两种随机数的算法,可用抽考题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 114 ::
收藏到网摘: n/a

第一种算法,存大一点问题。没有查出来
复制代码 代码如下:

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();
//
}
}
}