数组:具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
一维数组【相同数据类型】
第一种定义方式int[] shuzu = new int[5]; for (int i = 0; i < 5; i++) { shuzu[i] = i + 1; } //索引从0开始 //赋值 //shuzu[0] = 1; //shuzu[1] = 2; //shuzu[2] = 3; //shuzu[3] = 4; //shuzu[4] = 5; ////shuzu[5] = 6; ////shuzu[6] = 7; Console.WriteLine(shuzu[4]);
第二种定义方式
int[] shuzu = new int[] { 1,2,3,4,5 }; Console.WriteLine(shuzu[2]);
二维数组
int[,] shuzu = new int[3, 4]; int[,] shuzu = new int[,] { { 1,2,3,4}, { 5,6,7,8}, { 6,7,8,9} };
string[,] shuzu = new string[,] { { " ","■","■","■","■","■",""}, { " "," "," ","■","","",""}, { " "," "," ","■","","",""}, { " "," ","■","■","■","",""}, { " "," "," ","■"," "," ",""}, { " "," "," ","■"," "," ",""}, { "■","■","■","■","■","■","■"} }; for (int i = 0; i < 7; i++) { for (int j = 0; j < 7; j++) { Console.Write(shuzu[i, j]); } Console.WriteLine(); }
三维数组
int[, ,] shuzu = new int[3, 2, 4]; { { {,,,}, {,,,} }, { {,,,}, {,,,} }, { {,,,}, {,,,} } };
foreach不仅可以应用于数组,还可以应用于集合
//foreach遍历数组中各个元素,执行内部语句 foreach(double d in fen) { d是数组里面的元素的代表,从第一个元素开始遍历 Console.WriteLine(d); }
object 所有类的基类,可以接受任何数据类型
foreach (int a in shuzu)//遍历数组 //object在不知道是什么数据类型时使用,代替现在int的位置 { Console.WriteLine(a); } object a = 1; object b = "123"; object c = true; object d = 3.14;
一维数组练习
从控制台输入10个人的年龄放入数组,
将十个人的年龄求总和int [] age=new int [10]; int sum = 0; for (int i = 0; i < 10; i++) { Console.Write("请输入第"+(i+1)+"个人的年龄:"); age[i] = int.Parse(Console.ReadLine()); sum += age[i]; } Console.WriteLine(sum);
输入人名放进数组,输出第5个人的姓名
Console.Write("请输入有几个人:"); int a = int.Parse(Console.ReadLine()); string [] name =new string [a]; for (int i = 0; i < a;i++ ) { Console.Write("请输入第" + (i + 1) + "个人的姓名:"); name[i] = Console.ReadLine(); } Console.WriteLine(name[4]);
输入班级人数,根据人数,
挨个输入成绩,求平均分Console.Write("请输入班级人数:"); int a = int.Parse(Console.ReadLine()); double [] fen = new double [a]; double sum = 0; for (int i = 0; i < a;i++ ) { Console.Write("请输入第"+(i+1)+"个人的分数:"); fen[i] = double.Parse(Console.ReadLine()); sum += fen[i]; } Console.WriteLine("班级平均分为:"+sum/a);
冒泡排序 从大到小排列
int[] shuzu = new int[] { 3,1,8,4,0,5,6}; int zhong; for (int i = 0; i < 7; i++) { for (int j = i; i < 6; j++) { if (shuzu[i] < shuzu[j + 1]) { zhong = shuzu[i]; shuzu[i]=shuzu[j+1]; shuzu[j+1] = zhong; } } } for (int i=0; i<7; i++) { Console.WriteLine(shuzu[i]); }
二维数组练习
输入班级人数,将每个人的
语文,数学,英语成绩输入二维数组Console.Write("请输入班级人数:"); int a = int.Parse(Console.ReadLine()); double [,] shuzu = new double [a,3]; for (int i = 0; i < a; i++) { for (int j = 0; j < 3; j++) { if (j == 0) { Console.Write("请输入第"+(i+1)+"个人的语文成绩:"); } if (j == 1) { Console.Write("请输入第" + (i + 1) + "个人的数学成绩:"); } if (j == 2) { Console.Write("请输入第" + (i + 1) + "个人的英语成绩:"); } shuzu[i, j] = double.Parse(Console.ReadLine()); } }
冒泡排序和数组结合练习
输入人数,输入每个人的成绩
需要最高分,最低分 去掉两个最高分,去掉两个最低分,求平均分Console.Write("请输入班级人数:"); int a = int.Parse(Console.ReadLine()); double[]fen=new double [a]; for (int i = 0; i
抽奖活动:
输入n个手机号码,滚动号码,5秒钟后停止 输出中奖人号码Console.Write("请输入手机号码个数:"); int a = int.Parse(Console.ReadLine()); string [] shuzu = new string [a]; for (int i = 0; i < a; i++) { Console.Write("请输入第"+(i+1)+"个手机号码:"); shuzu[i] = Console.ReadLine(); } Console.WriteLine("所有号码输入完毕,请按回车键开始滚动号码!"); Console.ReadLine(); Random ran = new Random(); int r = 0; for (; ;) { int aa = ran.Next(a); Console.Clear(); Console.WriteLine(shuzu[aa]); System.Threading.Thread.Sleep(100); if (r == 49) { //作弊代码 //Console.Clear(); //Console.WriteLine("110"); break; } r++; }