数组:
数组是什么东西?
在内存中连续存储同一类型的数据的空间。
为什么需要数组?实际应用中需要存在同一类型的大量数据。
数组的定义:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[10];
string[] s = new string[10];
数据类型[] 数组名 = new 数据类型[长度]{值的列表,中间用逗号隔开};
int[] arr = new int[10]{1,3,5,7,9,11,13};
string[] s = new string[]{"aaa","bbb","ccc"};
数组的赋值与取值:
使用下标来操作数组中的每个元素。
数组名[下标] = 值;
数组名[下标];
数组的下标是从0开始的;最大的下标值要比数组的长度小1。
好处:
1.一次定义多个存储数据的空间。
2.可以与for循环配合用,使用循环变量作为数组的下标。
主谓宾,定状补;
主干枝叶分清楚;
定语必在主宾前;
谓前是状谓后补。
例子1:做一个拼句子的小游戏。
string[] a = new string[] {"孙悟空","贝吉塔","特南克斯","龟仙人","魔人布欧" }; string[] b = new string[] { "黑崎一护", "朽木露西亚", "乌鲁奇奥拉", "葛力姆乔", "朽木白哉" }; string[] c = new string[] { "漩涡鸣人", "宇智波佐助", "宇智波斑", "佩恩", "六道" }; Random rand = new Random(); int q = rand.Next(a.Length); int w = rand.Next(b.Length); int e = rand.Next(c.Length); Console.WriteLine(a[q]+"和"+b[w]+"正在和"+c[e]+"大战");
例子2:做一个随机抽奖的程序。
string[] a = new string[] { "孙悟空", "贝吉塔", "特南克斯", "龟仙人", "魔人布欧" }; string[] b = new string[] { "彩电", "笔记本电脑", "iPhone6", "iPadMini", "谢谢" }; Random rand = new Random(); for (int i = 0; i <= 20; i++) { int q = rand.Next(a.Length); Console.WriteLine(a[q]); System.Threading.Thread.Sleep(100); Console.Clear(); } int w = rand.Next(a.Length); int e = rand.Next(b.Length); Console.WriteLine("恭喜" + a[w] + ",中奖了,中了一个" + b[e]);
例子3:用数组求球员分数。
int[] a = new int[5]; //a是成绩 int max = 0; int sum = 0; for (int i = 0; i < a.Length; i++) { Console.WriteLine("请输入第" + (i + 1) + "个球员的成绩:"); a[i] = Convert.ToInt32(Console.ReadLine()); if (a[i] > max) { max = a[i]; } sum = sum + a[i]; } int min = max; for (int i = 0; i < a.Length; i++) if (a[i] < min) { min = a[i]; } for (int j = 0; j < a.Length; j++) { Console.WriteLine("第" + (j + 1) + "位球员的分数是:" + a[j] + "分"); } Console.WriteLine("球员最高分是{0},最低分是{1},总分是{2},平均分是{3}", max, min, sum, (double)sum / a.Length);