<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 知識大全 > 知識百科 > 百科知識 > c語言中什么是二維數組

        c語言中什么是二維數組

        時間: 歐東艷656 分享

        c語言中什么是二維數組

          二維數組A[m][n],這是一個m行,n列的二維數組。以下是由學習啦小編整理關于c語言二維數組的內容,希望大家喜歡!

          c語言的二維數組

          設a[p][q]為A的第一個元素,即二維數組的行下標從p到m,列下標從q到n,按“行優先順序”存儲時則元素a[i][j]的地址計算為:

          LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

          按“列優先順序”存儲時,地址計算為:

          LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

          存放該數組至少需要的單元數為(m-p+1) * (n-q+1) * t 個字節

          二維數組又稱為矩陣,行列數相等的矩陣稱變方陣。對稱矩陣a[i][j] = a[j][i],對角矩陣:n階方陣的所有非零元素都集中在主對角線上.

          二維數組在概念上是二維的,但在內存中地址是連續的,也就是說存儲器單元是按一維線性排列的。那么,如何在一維存儲器中存放二維數組呢?有兩種方式:一種是按行排列, 即放完一行之后順次放入第二行。另一種是按列排列, 即放完一列之后再順次放入第二列。

          在C語言中,二維數組是按行排列的。也就是先存放a[0]行,再存放a[1]行,最后存放a[2]行;每行中的四個元素也是依次存放。數組a為int類型,每個元素占用4個字節,整個數組共占用4×(3×4)=48個字節。

          【示例】一個學習小組有5個人,每個人有三門課的考試成績。求全組分科的平均成績和各科總平均成績。

          可設一個二維數組a[5][3]存放五個人三門課的成績。再設一個一維數組v[3]存放所求得各分科平均成績,設變量average 為全組各科總平均成績。編程如下:

          #include int main(){ int i, j; //二維數組下標 int sum=0; //當前科目的總成績 int average; //總平均分 int v[3]; //各科平均分 int a[5][3]; //用來保存每個同學各科成績的二維數組 printf("Input score:\n"); for(i=0; i<3; i++){ for(j=0; j<5; j++){ scanf("%d", &a[j][i]); //輸入每個同學的各科成績 sum+=a[j][i]; //計算當前科目的總成績 } v[i]=sum/5; // 當前科目的平均分 sum=0; } average =(v[0]+v[1]+v[2])/3; printf("Math: %d\nC Languag: %d\nEnglish: %d\n", v[0], v[1], v[2]); printf("Total:%d\n", average); return 0;}

          運行結果:

          Input score:

          80

          61

          59

          85

          76

          75

          65

          63

          87

          77

          92

          71

          70

          90

          85

          Math: 72

          C Languag: 73

          English: 81

          Total:75

          程序中首先用了一個雙重循環。在內循環中依次讀入某一門課程的各個學生的成績,并把這些成績累加起來,退出內循環后再把該累加成績除以5送入v[i]之中,這就是該門課程的平均成績。外循環共循環三次,分別求出三門課各自的平均成績并存放在v數組之中。退出外循環之后,把v[0]、v[1]、v[2]相加除以3即得到各科總平均成績。最后按題意輸出各個成績。

          二維數組的初始化

          二維數組的初始化可以按行分段賦值,也可按行連續賦值。

          例如對數組a[5][3],按行分段賦值可寫為:

          int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} };

          按行連續賦值可寫為:

          int a[5][3]={80, 75, 92, 61, 65, 71, 59, 63, 70, 85, 87, 90, 76, 77, 85};

          這兩種賦初值的結果是完全相同的。

          【示例】求各科平均分和總成績平均分。

          #include int main(){ int i, j; //二維數組下標 int sum=0; //當前科目的總成績 int average; //總平均分 int v[3]; //各科平均分 int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} }; for(i=0; i<3; i++){ for(j=0; j<5; j++){ sum+=a[j][i]; //計算當前科目的總成績 } v[i]=sum/5; // 當前科目的平均分 sum=0; } average =(v[0]+v[1]+v[2])/3; printf("Math: %d\nC Languag: %d\nEnglish: %d\n", v[0], v[1], v[2]); printf("Total:%d\n", average); return 0;}

          運行結果:

          Math: 72

          C Languag: 73

          English: 81

          Total:75


        看過“c語言中什么是二維數組”的人還看了:

        1.c語言數組的用法

        2.在c語言中什么是二維數組

        3.數組在c語言中是什么

        4.java中什么是二維數組

        5.c語言中table的用法

        243521 主站蜘蛛池模板: 精品日韩亚洲av无码| 精品一精品国产一级毛片| 少妇人妻88久久中文字幕| 福利一区二区在线视频| 国产高清午夜人成在线观看,| 国产偷拍自拍视频在线观看| 国产精品青青在线观看爽香蕉| 他掀开裙子把舌头伸进去添视频| 鲁丝一区二区三区免费| 成人精品一区二区三区不卡免费看 | 在线观看潮喷失禁大喷水无码| 亚洲熟妇色xxxxx欧美老妇| 亚洲AV无码专区亚洲AV桃| 男女啪啪激烈无遮挡动态图| 强奷漂亮人妻系列老师| 成人区精品一区二区婷婷| 亚洲一区二区三区色视频| 内射视频福利在线观看| 午夜激情小视频一区二区| 丰满少妇在线观看网站| 综合色天天久久| 国产成人综合久久精品下载| 国产成人免费一区二区三区| 亚洲欧美日产综合在线网| 国产成人拍精品免费视频| 少妇人妻偷人免费观看| 亚洲中文精品人人永久免费| 精品一卡2卡三卡4卡乱码精品视频 | 国内不卡不区二区三区| 国产九九视频一区二区三区 | 亚洲人亚洲人成电影网站色| 牲欲强的熟妇农村老妇女视频| 国产稚嫩高中生呻吟激情在线视频| 伊在人亞洲香蕉精品區| 国产成人午夜福利院| 无码免费大香伊蕉在人线国产 | 久久www视频| 九九热免费精品视频在线| 狠狠色丁香久久婷婷综合五月| 久热久热中文字幕综合激情| 国产一区二区三区AV在线无码观看 |