zoukankan      html  css  js  c++  java
  • C#_基础_数组(九)

    概念:一次性存储多个相同类型的变量,区别结构一次性声明多个不同类型的变量

    1.动态初始化数组

       //数组类型[] 数组名字 = new 数组类型[数组长度];
        int[] nums = new int[10]; //声明一个 int类型, 长度10的 数组

    数组中默认是0

      给数组赋值:

       1 nums[5] = 10;

      2 nums[3] = 12; 

    2.静态初始化

    1 int[] num2 = { 1, 2, 3 };
    2 //下面两种可以,但是比第二中更复杂,一般用第一和第二中,
    3//第三种传入数组长度要对应后面大括号中的数据个数
    4  int[] num3 = new int[3] { 1, 2, 3 };
    5  int[] num4 = new int[] { 1, 2, 3 };
     1   //练习1:从一个整数数组中取出最大的整数,最小的整数,总和,平均值
     2                          //注意:0 是最大值或最小值的情况,给max赋值初始值的时候就给数组中的一个元素int
     3 
     4                          int max = nums[0];
     5                          int min = nums[0];
     6                                 //或者是赋值int类型的最大值和最小值,给最大值一个最小的,最小值一个最大的
     7                          max = int.MinValue;
     8                          min = int.MaxValue;
     9 
    10                          int sum = 0;
    11                          int arg = 0;
    12                          for (int i = 0; i < nums.Length; i++)
    13                          {
    14                              if (max < nums[i])
    15                              {
    16                                  max = nums[i];
    17                              }
    18 
    19                              min = min > nums[i] ? min : nums[i];
    20 
    21                              sum += nums[i];
    22                          }
    23 
    24                          Console.WriteLine("最大数是{0},总数是{1},平均数是{2:0.00}", max, sum, sum *1.0/ nums.Length);
    练习题
     1 //冒泡排序:就是将一个数组中的数据从大到小或者是从小到大的顺序进行排序
     2                     //过程:第一个元素和后面的元素相邻比较,如果大就交换
     3                     //从前到后,得到最后一个数值是最大值
     4                          int[] arr = { 12, 4, 5, 7, 32, 78, 23, 85, 23 };
     5                          for (int i = 0; i < arr.Length-1; i++)
     6                          {
     7                              for (int j = 0; j < arr.Length-1-i; j++)
     8                              {
     9                                  if (arr[j] > arr[j+1])
    10                                  {
    11                                      int temp = arr[j];
    12                                      arr[j] = arr[j+1];
    13                                      arr[j+1] = temp;
    14                                  }
    15                              }
    16                          }
    17                        //  Array.Sort(arr);  //升序排列
    18                        //  Array.Reverse(arr); //数组进行翻转
    19                          for (int i = 0; i < arr.Length; i++)
    20                          {
    21                              Console.WriteLine("arr[{0}] = {1}", i, arr[i]);
    22                          }
    冒泡排序练习

    注意:数组索引超出数组长度,就会抛出异常,索引越界beyond array bound,

  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/CeasarH/p/9164019.html
Copyright © 2011-2022 走看看