unity游戏开发-C#语言基础篇(交错数组)

class Program
{
static void Main(string[] args)
{
//第一种方式

        int[] arr=new int[]{8,9};//不能超出2长度的维度;
        arr.Length 不是指交错数组的所有元素,而是长度维度;
        arr[1][2] = 88;//去改变某个下标的值;
        Console.WriteLine(arr[1][2]);
        int[][] arr=new int[][]{};
       // 通过for循环遍历交错数组;操作下标;
        for(int i=0;i<arr.Length;i++){
            for (int j = 0; j < arr[i].Length;j++ )
            {
                Console.WriteLine(arr[i][j]);

            }
        }


       // 通过foreach遍历交错数组,不知道下标;
        foreach(int[] num in arr){//返回额是一维数组;
            foreach(int num1 in num){//再去遍历一维数组;
                Console.WriteLine(num1);
            }
        }


       // 练 通过foreach遍历下标出来;自己去创建下标;
        int k=0;
        int q=0;
        foreach(int[] num_1 in arr ){              
            foreach(int num_2 in num_1){
                Console.WriteLine("arr[{0}][{1}]={2},", k, q,num_2);
                q++;
            }
            q = 0;
            k++;
        }
        Console.WriteLine("\n");
       // 练2 通过foreach遍历下标出来;自己去创建下标;
        int ii = 0;
        int jj = 0;
        foreach(int[] numi in arr){
            foreach(int numj in numi){
                Console.Write("arr[{0}][{1}]={2}  ",ii,jj,numj);
                jj++;
                    if(jj==arr[ii].Length){
                        Console.WriteLine();
                    }
            }             
            ii++;
            jj = 0;
        }

       // 练3 交错数组第一种方式建立;
        int[][] arrij=new int[3][];
        arrij[0] = new int[] {1,2,3 };
        arrij[1] = new int[] { 1, 2, 3 };
        arrij[2] = new int[] { 1, 2, 3 };




       // 交错数组的第二种建立方式;
        int[][] arr1 = { new int[] { }, new int[] { }, new int[] { } };//没有声明固定长度;
        int[][] arr2 = { new int []{1,2,3},new int [] {4,5,6},new int []{7,8,9},new int[]{1,6,8}};//声明一个交错数组并初始化赋值;

        //交错第三种建立方式;
       // int[][] arr3;//只声明一个交错数组;并没有赋值;


       // 交错数组动态赋值;
        int[][] arr4 = new int[4][];
        for (int i = 0; i < arr4.Length; i++)
        {
            arr4[i] = new int[] { i, i + 1, i + 2 };
        }
        Arrayjiaocuo.ArrayJiaoCuo(arr4);//调用类方法

      //  交错数组重新赋值;
        int[][] arr_11 = new int[4][];         //{ new int[]{ }, new int[]{ }, new int[]{ } };
        for (int i = 0; i < arr_11.Length; i++)
        {
            arr_11[i] = new int[] { i, i+1 , i + 2 };
        }
      //  Array_jiaocuo1.ArrayJiaoCuo(arr_11);


      //  练
        int[][] arr_1 = new int[5][];
        for (int i = 0; i < arr_1.Length; i++)
        {
            arr_1[i] = new int[i + 1];
            for (int j = 0; j < arr_1[i].Length; j++)
            {
                arr_1[i][j] = j + 1;
            }
        }

        Arrayjiaocuo.ShowJiaocuo(arr_1);

        //再练九九乘法

        int[][] Arr_1=new int[9][];

        for(int i=0;i<Arr_1.Length;i++){
            Arr_1[i]=new int[i+1];
            for (int j = 0; j < Arr_1[i].Length;j++ )
            {
                Arr_1[i][j] =(i+1)* (j+1);
            }
        }
        Arrayjiaocuo.ShowJiuJiu(Arr_1);



        //--------练习1----------
        chongfu:
        Console.WriteLine("\n请输入1-10的整数");
        int weidu = Convert.ToInt32(Console.ReadLine());
        if(weidu<=0||weidu>10){
           // Console.WriteLine("请输入1-10的整数");
            goto chongfu;
        }

        int[][] arr5=new int[weidu][];//声明指定维度交错数组
        for (int i = 0; i < arr5.Length;i++ )
        {
            arr5[i]=new int[i+1];
            for (int j = 0; j<arr5[i].Length;j++ )
            {
                arr5[i][j] = j + 1;
            }
        }

        Arrayjiaocuo.ShowJiaocuo(arr5);






       // -----------------第一题----------------------
        chongfu1:
        Console.WriteLine("请输入1-10的整数");
        int Lengyh1 = Convert.ToInt32(Console.ReadLine());
        if(Lengyh1<=0||Lengyh1>10){
            goto chongfu1;
        }
        int[][] arra=new int[Lengyh1][];
        for (int i = 0; i < arra.Length;i++ )
        {
            arra[i]=new int[i+1];
            for (int j = 0; j < arra[i].Length;j++ )
            {
                arra[i][j] = j * 2 + 1;
            }
        }
        Arrayjiaocuo.ShowJiaocuo(arr);



        //-----------------第二题----------------------

        Console.WriteLine("请输入一个整数");
        int L = Convert.ToInt32(Console.ReadLine());

        int[] arrs = new int[L];
        int js = 0;//计数杀人
        int jc = 0;//计算最后一个人

        for (int i = 0; i < arrs.Length; i++)
        {
            arrs[i] = i + 1;
        }

        int jjj = 0;//计算下标
        while (true)
        {

            if (arrs[jjj] != 0)
            {
                js++;

                if (js == 3)
                {
                    arrs[jjj] = 0;
                    jc++;
                    js = 0;
                }
            }
            jjj++;
            if (jjj == arr2.Length)
            {
                jjj = 0;
            }


            if (jc == arr2.Length - 1)
            {
                break;
                //return arr2[i];
            }

        }

        foreach (int num in arrs)
        {

            if (num != 0)
            {
                Console.WriteLine(num);
            }
        }




        Console.ReadKey();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容