第六节 二维数 两行四列和冒泡规则
二维数:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
int[,] arr = new int[2, 4] { { 2, 2, 2, 2 }, { 3, 3, 3, 3 } };//括号里的{ 2, 2, 2, 2 }是代表第一行数字,, { 3, 3, 3, 3 }代表第二行的数字 int sum=0;//总和 int romsum;//行总和 for (int i = 0; i < 2; i++) { romsum = 0; for (int j = 0; j < 4; j++) { romsum += arr[i, j]; } Console.WriteLine("第{0}行的总数为:{1}",(i+1),romsum); sum += romsum; } Console.WriteLine("2行4列的数组的总和为:{0}", sum); Console.ReadKey();
冒泡:两两比较 升序
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
int[] arr ={ 10, 22, 5, 12, 33 }; int temp; for (int i = 0; i < arr.Length - 1; i++)//比较几轮 { for (int j = 0; j < arr.Length - 1 - i; j++)//比较几次 { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.Length; i++) { Console.WriteLine("{0}\t", arr[i]); } Console.ReadKey(); 选择条件: int temp; int[] arr ={ 3, 2, 4, 9, 8 }; //选择排序 //循环n-1次 for (int i = 0; i < arr.Length; i++) { //最小数 int min = i; //找到最小值 for(int j=i+1;j<arr.Length;j++) { if(arr[j]<arr[min]) { min=j; } } //把最小换到前面 temp=arr[i]; arr[i]=arr[min]; arr[min]=temp; } for(int i=0;i<arr.Length;i++) { Console.WriteLine(arr[i]); } Console.ReadKey();
数组和 冒泡规则
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
案例1:打印9行9列 Console.WriteLine("请输入:"); int a = int.Parse(Console.ReadLine()); //外层用于控制输出9行 for (int i = 0; i < a; i++) { //内层循环控制用于*输出 for (int j = 0; j < a; j++) { Console.Write("*\t"); } Console.WriteLine(); } Console.ReadKey(); —————————————————————————————————————————————————————— 案例2:一维数组 //声明一个数组,用于存放5个元素 int[] arr=new int[5];//使用new设置大小 创建长度为5的整型数组 arr[0] = 5; arr[1] = 6; arr[2] = 7; arr[3] = 2; arr[4] = 5;//数组的下标是0-4; //foreach (int i in arr) //{ // Console.Write(i); //} //遍历数组元素 for (int i = 0; i < arr.Length; i++) { Console.WriteLine(arr[i]); } Console.ReadKey(); ———————————————————————————————————————————————————— 案例3 : //先声明 int[] arr; //后赋值 arr = new int[5]; //声明并初始化 int[] arr1 = new int[5] { 10, 20, 5, 6, 9 }; //int[] arr2 = new int[] { 1, 6, 5, 3, 2, 1 }; //int[] arr3 ={ 1, 15, 8, 7, 5, 7, 7 }; for (int i = 0; i < arr1.Length; i++) { Console.WriteLine(arr1[i]); } Console.ReadKey(); —————————————————————————————————————————————————————— 案例4 :二维数组 //声明二维数组 double[,] arr = new double[2, 3];//两行三列 arr[0, 0] = 10; arr[0, 1] = 20; arr[0, 2] = 30; arr[1, 0] = 33; arr[1, 1] = 30; arr[1, 2] = 50; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { Console.Write(arr[i, j]+" "); } Console.WriteLine(); } Console.ReadKey(); ———————————————————————————————————————————————————————— 案例5:两行四列 int[,] arr = new int[2, 4] { { 2, 2, 2, 2 }, { 3, 3, 3, 3 } };//括号里的{ 2, 2, 2, 2 }是代表第一行数字,, { 3, 3, 3, 3 }代表第二行的数字 int sum=0;//总和 int romsum;//行总和 for (int i = 0; i < 2; i++) { romsum = 0; for (int j = 0; j < 4; j++) { romsum += arr[i, j]; } Console.WriteLine("第{0}行的总数为:{1}",(i+1),romsum); sum += romsum; } Console.WriteLine("2行4列的数组的总和为:{0}", sum); Console.ReadKey(); —————————————————————————————————————————————————————— 案例6:输出一组数组 两两比较 冒泡规则 排序 int[] arr ={ 10, 22, 5, 12, 33 }; int temp; for (int i = 0; i < arr.Length - 1; i++)//比较几轮 { for (int j = 0; j < arr.Length - 1 - i; j++)//比较几次 { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.Length; i++) { Console.WriteLine("{0}\t", arr[i]); } Console.ReadKey(); —————————————————————————————————————————————————————————— 案例 7 条件循环 就从大到小 int temp; int[] arr ={ 3, 2, 4, 9, 8 }; //选择排序 //循环n-1次 for (int i = 0; i < arr.Length; i++) { //最小数 int min = i; //找到最小值 for(int j=i+1;j<arr.Length;j++) { if(arr[j]<arr[min]) { min=j; } } //把最小换到前面 temp=arr[i]; arr[i]=arr[min]; arr[min]=temp; } for(int i=0;i<arr.Length;i++) { Console.WriteLine(arr[i]); } Console.ReadKey(); —————————————————————————————————————————————————————————— 实践8 冒泡规则的运用 Console.WriteLine("请依次输入CPU、内存、硬盘、显卡、光驱、主机、显示器价格:"); int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); int c = int.Parse(Console.ReadLine()); int d = int.Parse(Console.ReadLine()); int e = int.Parse(Console.ReadLine()); int f = int.Parse(Console.ReadLine()); int g = int.Parse(Console.ReadLine()); int[] arr ={ a, b, c, d, e, f, g }; int temp; for (int i = 0; i < arr.Length-1; i++)//比较几轮 { for (int j = 0; j < arr.Length - 1 - i; j++)//比较几次 { if (arr[j] > arr[j + 1]) //比较最大值 { temp = arr[j]; arr[j] = arr[j + 1];//把晓得赋予 arr[j+1] = temp;//把最大值赋予 } } } Console.WriteLine("排序后的价格有高到低的依次为:"); for (int i = 0; i < arr.Length; i++) { Console.WriteLine(arr[i]); } Console.ReadKey();