数组:
一组变量
可以批量处理同一类型的数据
一维数组,二维数组,多维数组
定义一维数组:
一、int[] aa = new int[5];
定义了一个长度为5的int类型数组,但是未赋值,里面默认5个0,string类型的数组,未赋值的情况下,里面默认是“”;
二、int[] aa = new int[5]{1,2,3,4,5};
定义了一个长度为5个int类型数组,并且立刻给它5个空都赋上值;
三、int[] bb = new int[] {22,33,44,55,66};
不定义长度,直接赋值,计算机会自动计算长度;
赋值:
aa[0] = 值;
取值:
int a = aa[0];
PS:定义时,中括号里放的是长度
而使用时是索引,下标
------------------------------------------------------------------------
二维数组:
1、定义
int[] aa = new int[2,4]
{{1,2,3,4},{5,6,7,8}};
//2表示这个二维数组里有两个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1] = 值;
//0表示从这个二维数组里的第一个一维数组,1表示从第一个数组里的序位数为1的值。
3、取值:
int a = aa[0,1];
PS:取值时一定要看好中括号里的每一条信息
------------------------------------------------------------------------
三维数组:
1、定义
int[] aa = new int[2,3,4]
{
{{1,2,3,4},{5,6,7,8},{10,22,33,55}},
{{11,22,33,44},{55,66,77,88},{99,110,220,330}}
};
//2表示这个三维数组里有两个二维数组,3表示这个二维数组里有三个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1,3] = 值;
//0表示从这个三维数组里的第一个二维数组,1表示从第一个二维数组里的第一个一维数组,3表示从第一个一维数组里的序位数为3的值。
3、取值:
int a = aa[0,1,3];
------------------------------------------------------------------------
练习题:
1、
请输入学员的人数:
请输入第1个学员的分数:
请输入第2个学员的分数:
....
请输入第n个学员的分数:
*******************************
一共n个学生;
第1个学员的分数是:
第2个学员的分数是:
....
第3个学员的分数是:
总分是:
平均分是:
*******************************
最高分是第x个学生,分数是:
最低分是第y个学生,分数是:
//接收用户输入的人数 Console.Write("请输入学生的人数:"); int n = Convert.ToInt32(Console.ReadLine()); //第一一个无限长度的一维数组 decimal[] a = new decimal[n]; for (int i = 0; i < n; i++) { Console.Write("请输入第" + (i + 1) + "个学生的成绩:"); a[i] = Convert.ToDecimal(Console.ReadLine()); } Console.WriteLine("*******************************"); Console.WriteLine("一共有" + n + "个学生。"); decimal end = 0m; for (int j = 0; j < n; j++) { Console.WriteLine("第" + (j + 1) + "个学生的成绩是:" + a[j]); end += a[j]; } Console.WriteLine("总分是:" + end); Console.WriteLine("平均分是:" + (end / n)); Console.WriteLine("*******************************"); decimal min = 100, max = 0; int b = 0, c = 0; for (int k = 0; k < n; k++) { if (min > a[k]) { min = a[k]; c = k + 1; } if (max < a[k]) { max = a[k]; b = k + 1; } } Console.WriteLine("最高分是第" + b + "个学生,分数是:" + max + ";最低分是第" + c + "个学生,分数是:" + min); Console.ReadKey();
2、
冒泡排序:定义一个长度为10的int类型一维数组,
里面的值随意输入10个,然后让数组从大到小排列出来
//1、定义长度为10的一维数组 int[] a = new int[10] { 3, 5, 2, 6, 34, 56, 23, 78, 9, 10 }; //2、判断大小 int z = 0; for (int i = 0; i < 10; i++) { for (int j = i + 1; j < a.Length; j++) { if (a[i] < a[j])//从大到小排列打印,if (a[i] > a[j]) 从小到大排列打印 { z = a[i]; a[i] = a[j]; a[j] = z; } } } for (int i = 0; i < a.Length; i++) { Console.WriteLine(a[i]); } Console.ReadLine();