6.C语言二维数组

二维数组

5.C语言数组

#import 

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        int a;
        int ar[5];
        int arr[3][3];
//        1.给二维数组赋初值(初始化)
//        1》全部赋初值
        int arr1[3][3]={1,2,3,4,5,6,7,8,9};
        int arr11[3][3]={{1,2,3},{4,5,6},{7,8,9}}; //按行赋值
//        2》部分赋初值
        int arr2[3][3]={1,2,3};
        /*
         1 2 3
         0 0 0
         0 0 0
         */
        int arr21[3][3]={{1,2},{4}};
        /*
         1 2 0
         4 0 0
         0 0 0
        */
//        3》特殊赋初值
        int arr3[][3]={1,2,3,4,5}; //只能省略行长度
        /*
         1 2 3
         4 5 0
         */
//        4》初始化为空
        int arr4[3][3]={};
        
//        2.赋值
        int arr5[3][3];
        printf("请输入9个整数:");
        for (int i=0; i<3; i++) {
            for (int j=0; j<3; j++) {
                scanf("%d",&arr5[i][j]);
            }
        }
        printf("数组元素如下:\n");
        for (int i=0; i<3; i++) {
            for (int j=0; j<3; j++) {
                printf("%d ",arr5[i][j]);
            }
            printf("\n");
        }
        
    }
    return 0;
}

二维数组练习

#import 

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
//        1》对一个长度为3行2列的整型数组赋初值,并输出数组元素。
//        int arr[3][2]={1,2,3,4,5,6};
//        printf("数组元素如下:");
//        for (int i=0; i<3; i++) {
//            for (int j=0; j<2; j++) {
//                printf("%d ",arr[i][j]);
//            }
//        }
//        2》对一个长度为2行3列的浮点型数组赋值,并逆序输出数组元素。
//        float arr[2][3];
//        printf("请输入6个小数:");
//        for (int i=0; i<2; i++) {
//            for (int j=0; j<3; j++) {
//                scanf("%f",&arr[i][j]);
//            }
//        }
//        
//        for (int i=1; i>=0; i--) {
//            for (int j=2; j>=0; j--) {
//                printf("%.2f ",arr[i][j]);
//            }
//        }
//        3》分别求出两个班10个同学(每个班5个同学)的总成绩、平均成绩、最高成绩、最低成绩。
//        int score[2][5],sum,max,min,i,j;
//        float avg;
//        printf("请输入成绩:\n");
//        //遍历二维数组
//        for (i=0; i<2; i++) {
//            printf("请输入第%d个班级的成绩:\n",i+1);
//            sum=0;
//            for (j=0; j<5; j++) {
//                printf("请输入第%d个学生的成绩:",j+1);
//                scanf("%d",&score[i][j]);
//                sum+=score[i][j];
//            }
//            avg=sum/5.0;
//            printf("第%d个班级的总成绩是:%d\t平均成绩是:%.2f\n",i+1,sum,avg);
//        }
//        for (i=0; i<2; i++) {
//            max=min=score[i][0];
//            for (j=0; j<5; j++) {
//                if (maxscore[i][j]) {
//                    min=score[i][j];
//                }
//            }
//            printf("第%d个班级的最高成绩是:%d\t最低成绩是:%d\n",i+1,max,min);
//        }
//        4》定义一个3行3列的整型数组并赋值,求出对角线的元素之和。(左对角线、右对角线)
        /*
           0  1  2
         0 1  2  3
         1 4  5  6
         2 7  8  9   i==j    i+j==2
         */
//        int arr[3][3],left_sum=0,right_sum=0;
//        printf("请输入9个整数:");
//        for (int i=0; i<3; i++) {
//            for (int j=0; j<3; j++) {
//                scanf("%d",&arr[i][j]);
//            }
//        }
//        for (int i=0; i<3; i++) {
//            for (int j=0; j<3; j++) {
//                if (i==j) {
//                    left_sum+=arr[i][j];
//                }
//                if (i+j==2) {
//                    right_sum+=arr[i][j];
//                }
//            }
//        }
//        printf("左对角线的和是:%d\n右对角线的和是:%d\n",left_sum,right_sum);
//        5》定义一个3行3列的整型数组并赋值,输出下列图形:
//           123      147      987         963
//           456      258      654         852
//           789      369      321         741
        int arr[3][3];
        printf("请输入9个整数:");
        for (int i=0; i<3; i++) {
             for (int j=0; j<3; j++) {
               scanf("%d",&arr[i][j]);
            }
        }
        //第一个图形
        printf("第一个图形:\n");
        for (int i=0; i<3; i++) {
            for (int j=0; j<3; j++) {
                printf("%d",arr[i][j]);
            }
            printf("\n");
        }
        
        //第二个图形
        printf("第二个图形:\n");
        for (int i=0; i<3; i++) {
            for (int j=0; j<3; j++) {
                printf("%d",arr[j][i]);
            }
            printf("\n");
        }
        
        //第三个图形
        printf("第三个图形:\n");
        for (int i=2; i>=0; i--) {
            for (int j=2; j>=0; j--) {
                printf("%d",arr[i][j]);
            }
            printf("\n");
        }
        
        //第四个图形
        printf("第四个图形:\n");
        for (int i=2; i>=0; i--) {
            for (int j=2; j>=0; j--) {
                printf("%d",arr[j][i]);
            }
            printf("\n");
        }
    }
    return 0;
}

你可能感兴趣的:(6.C语言二维数组)