亚洲综合在线一区,日韩欧美偷情高潮,久久伊人精品青青草原高清,中文字幕av解说

二維數組的初始化形式

zhushican 3年前 (2022-09-04) 六六互聯 540 0

word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微軟雅黑, 黑體, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">二維數組的初始化

word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微軟雅黑, 黑體, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">二維數組的初始化形式

二維數組的初始化形式可以有:

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12);    /*完全初始化*/

int a[][4]={1,2,3,4,5,6,7,8,9,10,1 1,12);    /*省略行的完全初始化*/

int a[3][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12));

/*分行完全初始化,可讀性較好*/

int a[3][4]={{1},{2},{3}};

/*部分初始化,可以只對部分元素賦初值,未賦初值的元素自動取0值,數組a中各元素的值為:*/

1 0 0 0

2 0 0 0

3 0 0 0

【例5-7】打印楊輝三角

存儲并打印楊輝三角的前10行。楊輝三角的具體形式為:

                              1

                           1     1

                        1     2     1

                     1    3     3      1

                  1     4     6     4     1

分析: 楊輝三角的特點為:

(1)第0列好對角線上的元素都為1;

(2)除第0列和對角線上的元素以外,其他元素的值均為前一行上的同列元素和前一列元素之和。

#include <stdio.h>

int main()

int s[10][10];

int i,j,k;

for(i=0;i<10;i++)/*為數組中的對角線和第0列元素賦值*/

s[i][i]=1;

s[i][0]=1;

}

for(i=2;i<10;i++)/*為其它元素賦值*/

for(j=1;j<i;j++)

s[i][j]=s[i-1][j-1]+s[i-1][j];

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

{

      for(k=i;k<10;k++)/*控制輸出每行的空格*/

printf("");

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

printf("%4d",s[i][j]);

printf("\n");

}

return 0; 

}

程序運行結果:

     1

     1   1

     1   2   1

     1   3   3   1

     1   4   6   4   1

     1   5  10  10   5   1

     1   6  15  20  15   6   1

     1   7  21  35  35  21   7   1

     1   8  28  56  70  56   28  8   1

     1   9  36  84 126 126 84  36  9   1

【例5-8】找出二維數組元素最值,有一個3 4的矩陣,求出每行最小值及每列的最小值。

分析:設定數組a,3行4列,由于共有3行,共有3個行最小值,可以設定一個長度為3的一維數組來保存每一行的最小值。同理,可以設定一個長度為4的一維數組來保存每一列的最小值。

#include <stdio.h>

int main()

     int a[3][4],b[3],c[4],i,j;

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

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

        scanf("%d",&a[i][j]);/*向數組a中輸入數據*/

     for(i=0;i<3;i++)   /*判斷行,求出每行最小值,存在數組b中*/

      {

        b[i]=a[i][0];

        for(j=1;j<4;j++)

        if(a[i][j]<b[i]) 

         b[i]=a[i][j];

     }

    for(j=0;j<4;j++) /*判斷列,求出每列最小值,存在數組c中*/

    {

     c[j]=a[0][j];

     for(i=1;i<3;i++)

     if(a[i][j]<c[j]) 

     c[j]=a[i][j];

    }

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

        printf("%5d",b[i]);

    printf("\n");

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

       printf("%5d",c[j]);

    printf("\n");

    return 0; 

}

程序運行結果:

56  67  98  23↙

67  89  90  12↙

78  90  23  67↙

56  67  23  12