C語言:利用指標編寫程式,定義一個3行3列的二維陣列,並在程式中對其進行賦值,陣列元素的型別不限,輸出該二維陣列以及各行的均值
阿新 • • 發佈:2019-01-04
題目來源:大工慕課 連結
作者:Caleb Sung
題目要求
利用指標編寫程式,定義一個3行3列的二維陣列,並在程式中對其進行賦值,陣列元素的型別不限,輸出該二維陣列以及各行的均值,各行的均值可直接輸出,也可儲存於維陣列中再輸出
a.輸出二維陣列時要求使用指向陣列的指標變數
b.計算各行的均值時要求使用指標陣列
注意: 陣列指標和指標陣列的區別
弄明白了兩者的區別,我們可以來做題了:
參考解答
#include<stdio.h>
void main(){
int array[3][3], (*pArr)[3], *p[3], i, j, sum;
srand (time(NULL));
for(i=0; i<3; i++)
for(j=0; j<3; j++)
array[i][j] = rand()%100+0;
pArr = array;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++){
printf("%d\t", pArr[i][j]);
if(j == 2){
printf("\n");
}
}
for (i=0; i<3; i++)
p[i] = array[i];
for(i=0; i<3; i++){
sum = 0;
for(j=0; j<3; j++){
sum += p[i][j];
}
printf("第%d行的和是%d\n", i+1, sum);
}
}
執行效果
76 30 44
44 97 74
65 93 45
第1行的和是150
第2行的和是215
第3行的和是203