数组
概念:定义一组同类型的指定个数的变量,索引从0开始
例:
int[] shuname = new int[10];//定义一组有10个数据的数组shuname[0] = 1;Console.WriteLine(shuname[0]);//打印出1
数组与for循环结合的练习:
1、彩票问题:通过数组录入随机生成的红球。
//定义一个含有6个数据的数组int[] hongqiu = new int[6];Random r = new Random();//随机生成红球的方法for (int i = 0; i < 6; i++){ hongqiu[i] = r.Next(1, 34); for (int j = 0; j < i; j++) { if (hongqiu[i] == hongqiu[j]) { //判断是否出现重复的红球,若出现就i--再重复循环 i--; break; } }}Console.WriteLine("红球为:");//打印出来红球for (int i = 0; i < 6; i++){ Console.Write("{0} ", hongqiu[i]);}//随机生成一个蓝球int blue;while(true){ blue = r.Next(1,17); for(int i = 0;i<6;i++) { //判断蓝球是否与红球中任意一数重复 if (blue != hongqiu[i]) { continue; } else break; } break;}Console.WriteLine("蓝球为:{0}", blue);
2、遍历数组
for (int i = 0;i<hongqiu.Length;i++){ int h; h = hongqiu[i]; Console.WriteLine(h);}
hongqiu.Length是数组的元素个数
3、自动遍历数组的方法:foreach
foreach (int p in hongqiu)//p的数据类型需要与数组保持一致{ Console.WriteLine(p);}
数组的等量代换:冒泡排序
1、等量代换的思路:
int a = 0;int b = 1;//要交换a和b,需要一个中间变量cint c = a;a = b;b = c;
2、在数组中通过for循环的运用
思路:用两层for循环嵌套:外层的for循环(从索引为0开始)给 i 一个数组中的值,
内层的for循环(从索引为 i 开始)给 j 一个数组中的值,并与 i 进行循环比较,最后排出想要的顺序。
例:输入五个人的成绩,进行升序的冒泡排序
int[] shuzu = new int[5]; Console.WriteLine("请输入五个人的成绩:"); for (int i = 0; i < 5; i++) { shuzu[i] = int.Parse(Console.ReadLine()); } for (int i = 0; i < 5; i++) { for (int j = i+1; j < 5; j++) { if (shuzu[i] > shuzu[j]) { int zhong = shuzu[j]; shuzu[j] = shuzu[i]; shuzu[i] = zhong; } } } foreach (int a in shuzu) { Console.WriteLine(a); }