第一种算法,存大一点问题。没有查出来
复制代码 代码如下: 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(); // } } }
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|