/* 一般方法:
4*4矩阵nMat,
用 nA、nB 遍历矩阵的行、列,
任何一个元素nMat[nA][nB] > 最大值,设置 最大值 = nMat[nA][nB],记位置
任何一个元素nMat[nA][nB] < 最小值,设置 最小值 = nMat[nA][nB],记位置
当 nA==nB, Sum += nMat[nA][nB];
*/
// 若简捷,可以采用直接访问一维空间的方法,手工计算元素的位置
#include <stdio.h>
int nMat[4][4] ={{34,12,15,10},{78,9,0,87},
{80,19,100,21},{45,23,35,43}};
int main() {
int nA,nSum,nMinIdx,nMaxIdx;
nSum = nMinIdx = nMaxIdx = 0;
for (nA=0; nA<4*4; nA++) {
if (0 == nA%(4+1)) { nSum += (*nMat)[nA]; }
if ( (*nMat)[nMinIdx] > (*nMat)[nA] ) nMinIdx = nA;
if ( (*nMat)[nMaxIdx] < (*nMat)[nA] ) nMaxIdx = nA;
}
printf("最大值:nMat[%d][%d] == %d\n",nMaxIdx/4,nMaxIdx%4,(*nMat)[nMaxIdx]);
printf("最小值:nMat[%d][%d] == %d\n",nMinIdx/4,nMinIdx%4,(*nMat)[nMinIdx]);
printf("求和:nSum == %d\n",nSum);
return 1;
}
温馨提示:答案为网友推荐,仅供参考