数组
数组
什么是数组?
内存中连续存储同一类数据的一块空间。
类似于:豆角(一维)。
分类:一维,二维,多维。
一维数组:
定义:
数据类型[] 数组名 = new 数据类型[数组长度];
int[] a = new int[10];
string[] b = new string[20];
数组元素的引用:
数组名[下标] 下标是从0开始算的。
a[0] = 10;
a[1] = 20;
a[2] = 30;
Console.Write(a[2]);
i - 下标
a[i] - i下标这个空间中的值。
a - 整个数组
习题
星光大道投票
// int[] xs = new int[5]; //20观众投票 for (int i = 0; i < 20; i++) { Console.WriteLine("请给1号到5号投票只能投给一位选手"); int hao = Convert.ToInt32(Console.ReadLine()); xs[hao - 1]++; } //显示 for (int i = 0; i < 5; i++) { Console.WriteLine("{0}选手{1}票", i + 1, xs[i]); }
教练给球员打分:显示每分球员的得分,显示最高分及球员号,最低分及球员号,显示平均得分。
//球员 int[] qy = new int[10]; int min = 100, max = 0, sum = 0; //教练打分 for (int i = 0; i < 10; i++) { Console.WriteLine("请给每个球员打分0—100"); qy[i] = Convert.ToInt32(Console.ReadLine()); sum = sum + qy[i]; if (min > qy[i]) { min = qy[i]; } if (max < qy[i]) { max = qy[i]; } } // 显示 for (int i = 0; i < 10; i++) { Console.WriteLine("{0}球员得分为{1}", i + 1, qy[i]); } Console.WriteLine("最高成绩为{0},最低成绩{1},平均成绩{2}", max, min, sum / 10);
青歌赛打分:20位评委给一个选中手分,去掉一个最高分,去掉一个最低分求歌手的平均得分。
//选手 int[] fs = new int[20]; int min = 100, max = 0, sum = 0; //打分 for (int i = 0; i < 20; i++) { Console.WriteLine("给选手打分0-100"); fs[i] = Convert.ToInt32(Console.ReadLine()); sum = sum + fs[i]; if (min > fs[i]) { min = fs[i]; } if (max < fs[i]) { max = fs[i]; } } int pj = (sum - min - max) / 18; Console.WriteLine("平均得分" + pj);
成绩管理:老师输入20个学生的语文成绩,统计显示多少个及格,多少个优秀,多少个不及格,求出平均分。不及格的要显示学号及成绩。
//学生 int[] cj = new int[20]; int sum = 0; //输入成绩 for (int i = 0; i < 20; i++) { Console.WriteLine("输入成绩0-100"); cj[i] = Convert.ToInt32(Console.ReadLine()); sum = cj[i] + sum; } int a = 0; for (int i=0;i<20;i++) { if (cj[i]<60) { a++; Console.WriteLine("有{0}个学生不及格编号为{1},成绩为{2}",a,i+1,cj[i]); } } for (int i=0;i<20;i++) { if (cj[i]>=60&&cj[i]<80) { a++; Console.WriteLine("有{0}个学生及格",a); } } for (int i = 0; i < 20; i++) { if (cj[i]>80&&cj[i]<=100) { a++; Console.WriteLine("有{0}个学生优秀",a); } } //平均成绩 Console.WriteLine("平均成绩{0}",sum/20);
抽奖问题
Console.Write("请输入此次参加抽奖活动的人数:"); int ren = int.Parse(Console.ReadLine()); string [] shuzu=new string[ren]; for (int i = 0; i < shuzu.Length; i++) { Console.Write("请输入第"+(i+1)+"个人的手机号码:"); shuzu[i] = Console.ReadLine(); } Console.WriteLine("所有参与人的手机号码输入完成!请按回车键开始抽奖!"); Console.ReadLine(); Random ran = new Random(); for (int i = 0; i < 30; i++) { Console.Clear(); int aa = ran.Next(ren); Console.WriteLine("中奖号码:"+shuzu[aa]); System.Threading.Thread.Sleep(100); } Console.Clear(); Console.WriteLine("中奖号码:186****7520" ); Console.ReadLine();