第六节 二维数 两行四列和冒泡规则

二维数:

二维数
 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();

冒泡:两两比较 升序

冒泡
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();

数组和 冒泡规则

View Code
案例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();

 

 

 

posted @ 2012-06-20 10:16  ComBat  阅读(181)  评论(0编辑  收藏  举报