20141020--数组习题1
1 //1.....输入十个人的分数去掉两个最高分两个最低分,求平均分 2 Console.Write("请输入班级的总人数:"); 3 int n = int.Parse(Console.ReadLine()); 4 int[] sum = new int[n]; 5 int he = 0; 6 for (int i = 0; i < n; i++) 7 { 8 Console.Write("请输入第" + (i + 1) + "个人的分数:"); 9 sum[i] = int.Parse(Console.ReadLine()); 10 he = he + sum[i]; 11 } 12 int m = sum.Length;//定义m为这个数组sum的长度 13 for (int i = 0; i < m; i++) 14 { 15 for (int j = i; j <m-1; j++) 16 { 17 int zhong = sum[i]; 18 if (sum[i] < sum[j + 1]) 19 { 20 sum[i] = sum[j + 1]; 21 sum[j + 1] = zhong; 22 } 23 } 24 }//到这里数组中的两个最大值是sum[0]和sum[1],最小值是sum[m-1]和sum[m] 25 int g = sum.Length; 26 int pj1 = (he-sum[0]-sum[1]-sum[m-1]-sum[m-2]) / (m - 4); 27 Console.Write("去掉两个最高分和两个最低分的平均分是"+pj1); 28 Console.ReadLine();
1 //2.....五个候选班长,20人投票,求得票最高的 2 Console.WriteLine("候选人的代号如下:\n 0、甲 1、乙 2、丙 3、丁 4、戊"); 3 Console.Write("请输入参与投票的总人数:"); 4 int n = int.Parse(Console.ReadLine()); 5 int[] bz = new int[5] { 0, 0, 0, 0, 0 }; 6 for (int i = 0; i < n; i++) 7 { 8 Console.Write("请输入第" + (i + 1) + "个人的票的序号(0-4):"); 9 int m = int.Parse(Console.ReadLine());//输入的数值必须是0-4之间的整数,m=0或m=1 10 if (m >= 0 && m <= 4) 11 {//如果输入的m=0,则在bz[0](数组bz的0号索引上的值)+1 12 //如果输入的m=1,则在bz[1](数组bz的1号索引上的值)+1 13 bz[m] = bz[m] + 1; 14 } 15 else 16 { 17 Console.Write("输入错误,作为废票"); 18 } 19 } 20 //以下是找出最大值 21 int max = 0;//方便下文打印最多的票数 22 int na = 0;//定义na的作用是为了给最大值定位。 23 for (int i = 0; i <= 4; i++) 24 { 25 if (bz[i] > max) 26 { 27 max = bz[i];//如果数组bz[]中的第i号索引上的值大于max,则把这个值赋给max 28 na = i;// na的值就是最大值的索引。也就是i的值 29 } 30 } 31 Console.WriteLine("5个人的得票分别为\n0号候选人甲得票:" + bz[0] + "\n1号候选人乙得票:" + bz[1] + "\n2号候选人丙得票:" + bz[2] + "\n3号候选人丁得票:" + bz[3] + "\n4号候选人戊得票:" + bz[4]); 32 Console.WriteLine("最高得票的是" + na + "号候选人,得票是" + max); 33 Console.ReadLine();