zoukankan      html  css  js  c++  java
  • 5月8日 数组

    数组

    一、数组:具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

    所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

    【数组中元素的索引是从0开始的】

    二、一维数组定义方式:

    //int[] 变量名 = new int [n];

    //n表示开辟多少个空位

    1、int  类型

                int [] array =new int[]{1,2,3,4,5};//里面有5个变量,array[0],array[1],array[2],array[3],array[4]

                Console.WriteLine(array[0]);//打印出来的是1

    或者       int [] array =new int[]{1,2,3,4,5};

                array[2] = 6;//在这里重新给3赋值,3的位置是array[2],那么打印的是重新赋值后的数,即6

                Console.WriteLine(array[2]);

    2、string  类型

               string[] array1 = new string[5];

               //array1[0]="1";//可以给每个变量定义字符串

              //array1[1]="2";

               //array1[2]="3";

              //array1[3]="4";

               //array1[4] ="5";

                for (int i = 0; i < array1.Length; i++)

                {

                    Console.Write("请输入第" + (i + 1) + "个名字:");

                    array1[i] = Console.ReadLine();

                }

    三、练习:

    1//从控制台输入10个人的年龄放入数组,

                //将十个人的年龄求总和

                int[] name = new int[10];

                int sum = 0;

                for (int i = 0; i < name.Length; i++)

                {

                    Console.Write("请输入第" + (i + 1) + "个年龄:");

                    name[i] = int.Parse(Console.ReadLine());

                    sum += name[i];

                }

                Console.WriteLine(sum);

    2//排序   冒泡排序

    int[] name = new int[10];

    for (int i = 0; i < 10; i++)

                {

                    for (int j = i; j < 9; j++)

                    {

                        if (name[i] < name[j + 1])

                        {//定义中间变量去调换两个值

                            int zhong = name[i];

                            name[i] = name[j + 1];

                            name[j + 1] = zhong;

                        }

                    }

                }

                for (int i = 0; i < 10; i++)

                {

                    Console.WriteLine(name[i]);

                }

    3//生成十个不重复的数放入数组并打印出来

                int[] suiji = new int[10];

                Random ran = new Random();

                for (int i = 0; i < 10; i++)

                {

                    bool b = true;

                    int a = ran.Next(11);

                    for (int j = 0; j <= i; j++)

                    {

                        if (a == suiji[j])

                        {

                            b = false;

                            i--;

                        }

                    }

                    if (b)

                    {

                        suiji[i] = a;

                    }

                }

    4         //遍历数组

                foreach (int aa in suiji)

                {

                    Console.WriteLine(aa);

                }

    5//输入班级人数,根据人数,

                //挨个输入成绩,求平均分,求最高分,最低分

                Console.Write("请输入班级人数:");

                int renshu = int.Parse(Console.ReadLine());

                double[] fenshu = new double[renshu];

                double sum = 0;

                for (int i = 0; i <= renshu; i++)

                {

                    Console.Write("请输入第" + (i + 1) + "个分数:");

                    fenshu[i] = double.Parse(Console.ReadLine());

                    sum += fenshu[i];

                }

                double pj = sum / renshu;

                Console.WriteLine(pj);

                Console.ReadLine();

    四、二维数组定义方式:

     //int [,] array =new int [a,b];

                //a表示有几个一维数组

                //b表示每个一维数组中有几个元素

    例:

    (1int[,] array = new int[3, 4]{

                {2,3,4,5},

                {3,4,5,6},

                {5,6,7,8}};

                Console.WriteLine(array[1, 1]);

                for (int i = 0; i < 3; i++)

                {

                    for (int j = 0; j < 4; j++)

                    {

                        //Console.WriteLine(array[i,j]);

                        array[i, j] = int.Parse(Console.ReadLine());

                    }

                }

    五、练习:

    1、//打印一个王字

                string [,] wang =new string[,]

                   {

                        {"  ","■","■","■","■","■","  "},

                        {"  ","  ","  ","■","  ","  ","  "},

                        {"  ","  ","  ","■","  ","  ","  "},

                        {"  ","  ","■","■","■","  ","  "},

                        {"  ","  ","  ","■","  ","  ","  "},

                        {"  ","  ","  ","■","  ","  ","  "},

                        {"■","■","■","■","■","■","■"}

                   };

                for (int i = 0; i < 7; i++)

                {

                    for (int j = 0; j < 7; j++)

                    {

                        Console.Write(wang[i,j]);

                    }

                    Console.WriteLine();

                }

    2、//输入班级人数,根据人数创建数组

                //将每一个人的语文,数学,英语成绩放进去

                //计算出每个人的平均分

                Console.Write("请输入班级人数:");

                int renshu = int.Parse(Console.ReadLine());

                double[,] fenshu = new double[renshu, 3];

                double sum = 0;

                for (int i = 0; i < renshu; i++)

                {

                    for (int j = 0; j < 3; j++)

                    {

                        Console.WriteLine("请输入第" + (j + 1) + "个分数:");

                        fenshu[i, j] = double.Parse(Console.ReadLine());

                        sum += fenshu[i, j];

                    }

                    double pj = sum / renshu;

                    Console.WriteLine("平均分数为:" + pj);

                    Console.WriteLine();

                }

                Console.ReadLine();

    六、多维数组

    数组可以具有多个维度。例如:

    int[,,] myArray = new

    int[2,4,2]

    {

    {{1,2},{3,4},{5,6},{7,8}} ,

    {{9,10},{11,12},{13,14},{15,16}}

    };

    //意思是,有2个二维数组,每个二维数组里有4个一维数组,每个一维数组里有2个元素

  • 相关阅读:
    VS 对话框控件的Tab顺序问题
    基于OpenGL三维软件开发
    OpenGL 中的三维纹理操作
    VC 在桌面上绘制一些图形
    VC/MFC如何添加启动界面
    Cordova or Xamarin 用.net开发IOS和Android程序
    ASP.NET Web API
    软件项目如何选型
    CIO的职责、条件及价值
    Oracle日期周详解IW
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5471452.html
Copyright © 2011-2022 走看看