作业
第一题:做一个36选7的彩票生成器。
static void Main(string[] args) { int[] a = new int[7]; Random rand = new Random(); for (int i = 0; i < 7; i++) //7--代表要生成7个不同的数 { //生成一个随机数。 int n = rand.Next(36); n++; //查重 bool chong = false; for(int j=0;j<a.Length;j++) { if(n == a[j]) { chong = true; break; } } //才能确定n合不合理 if(chong == false) { a[i] = n; } else { i--; }//if }//for //显示彩票号码 for(int k = 0;k<a.Length;k++) { Console.Write(a[k] + "\t"); } }//main } }
第二题:做一个教练为6位球员打分的程序。并在此基础上显示球员总分和平均分,最高分和最低分,以及球员的代号。
class Class2 9 { 10 static void Main(string[] args) 11 { 12 int[] a = new int[6]; 13 Console.WriteLine("********球员训练记录********"); 14 15 for (int i=0;i<a.Length;i++) 16 { 17 Console.Write("请输入第"+(i+1)+"个球员的成绩:"); 18 a[i] =Convert.ToInt32( Console.ReadLine()); 19 } 20 21 for (int m = 0; m < a.Length; m++) 22 { 23 Console.WriteLine("第"+(m+1)+"个球员的成绩是"+a[m]+"。"); 24 } 25 26 int sum = 0; 27 double ave = 0; 28 for (int n = 0; n < a.Length;n++ ) 29 { 30 sum = sum + a[n]; 31 32 } 33 ave = 1.0 * sum / a.Length; 34 Console.WriteLine("球员总成绩是"+sum+",平均成绩是"+ave+"。"); 35 36 int max = 0,min=200; 37 int maxSub = -1, minSub = -1; 38 for (int b = 0; b < a.Length;b++ ) 39 { 40 max = max > a[b] ? max : a[b]; 41 maxSub = b; 42 } 43 for (int c = 0; c < a.Length; c++) 44 { 45 if(min>a[c]) 46 { 47 min=a[c]; 48 minSub=c; 49 } 50 } 51 Console.WriteLine((maxSub+1)+"球员中最高成绩是" + max + ","+(minSub+1)+"最差成绩是"+min+"。"); 52 53 54 } 55 } 56 }
第三题:20个手机号 滚动显示,随机抽取一个中奖号码。
static void Main(string[] args) { { int i; long[] a = new long[20] { 13583687238,15055567890, 13456789043, 15095765549,13678945678,13576896789, 13587655678, 13565476567, 13789201549,15192575779,13899265549,13895766678, 13995765549,18369192343,18369115553,150989898989,15888888549, 15956743256, 150957555555,15467843956 }; Random rand = new Random(); for (i = 0; i < 100; i++) { int n = rand.Next(20); System.Threading.Thread.Sleep(100); //调整每一个号码的显示时间 Console.Clear(); // 清屏 Console.Write(a[n] + "\t"); } } } }
第四题: 30个人投票,从5个候选人中选出一个来。
static void Main(string[] args) { //30人投票,从5个候选人中选一个出来 int[] vote = new int[5]; for (int i = 0; i < 30; i++) { Console.WriteLine("请第" + (i + 1) + "位同学投票(0-4):"); int temp = Convert.ToInt32(Console.ReadLine()); if (temp < 0 || temp > 4) { Console.WriteLine("废票"); continue; } else { vote[temp]++; } } //计算最终得票 int max = 0, maxsub = 0; for (int i = 0; i < vote.Length; i++) { //把每一位候选人的票数显示出来。 Console.WriteLine("第"+(i+1)+"号候选人的票数是:"+vote[i]); //计算最大值。 if (vote[i] > max) { max = vote[i]; maxsub = i; } } //显示最终结果。 Console.WriteLine("最终投票结果为:"+(maxsub+1)+"号候选人, 当选票数是"+max+"票");
}
第五题:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。
Console.WriteLine("请输入选手得到分数:"); int[]a=new int [10]; for (int i = 0; i < 10; i++) { Console.Write("请输入第"+(i+1)+"个得分:"); a[i] = Convert.ToInt32(Console.ReadLine()); } int max = 0, min = 999,sum = 0; double avg; //求出最高分和最低分 for (int i = 0; i < 10; i++)//依次比较两个值大小,取最大值(最小值); { if (a[i] > max) { max = a[i]; } } for (int i = 0; i < 10; i++) { if (a[i] < min) { min=a[i]; } } //用迭代法计算总得分 for (int i = 0; i < 10; i++) { sum=sum+a[i]; } //计算去掉最高分、最低分后的平均值 avg = 1.0 * (sum - max - min) / (a.Length - 2); Console.WriteLine("该选手平均得分是:"+avg+"分");