int arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//定义该数组是一个三行四列的数组
int arr1[4] = {0}; //设置一个空数组,放置计算出来的每列的总和,共四列
for(j = 0;j < 4;j++){ //数组的列下标
for(i = 0,sum = 0;i < 3;i++){ //数组的行下标,因为是计算每列的元素总和,当列下标更换,即完成一次外循环后,sum的值回归零
sum = arr[i][j]+sum;
}
arr[i] = sum; //放置每列的总和
}
分析:计算每列的元素的总和,需要两个数组,两次循环,将外循环设置为列,内循环设置为行,内循环结束一次,sum就传递给空数组一次,再次开始时sum归零,重新计算
如果使用函数归还特定列的总和:
int SAscore(int arr[][4],int x)//x代表特定的列下标
{
int i,j,sum;
int b[4] = {0};//设置空数组放置总和
for(j = 0;j < 5;j++){
for(i = 0,sum = 0;i <5;i++){
sum = a[i][j]+sum;
}
b[j] = sum;//对应数组元素放置总和
}
return b[x];//返回该特定下标的总和元素
}
网友评论