题解 | #矩阵最大值#
矩阵最大值
https://www.nowcoder.com/practice/9c550b6fe85d48bcad5a6025c6dc447d
#include <stdio.h>
int main() {
int a, b;
while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
// 64 位输出请用 printf("%lld") to
int data[a][b];
int cnt = 0;
while (cnt < a * b) {
scanf("%d", &data[cnt / b][cnt % b]);
cnt++;
}
int i,j;
int rowSum[a],maxIndex[a],max,index;
for(i=0;i<a;i++){
rowSum[i]=0;
max=-1;
for(j=0;j<b;j++){
//计算行和
rowSum[i]+=data[i][j];
//寻找第一个行最大值所在下标
if(data[i][j]>max){
max=data[i][j];
index=j;
}
}
maxIndex[i]=index;
}
for(i=0;i<a;i++){
for(j=0;j<b;j++){
if(j==maxIndex[i]){
printf("%d ",rowSum[i]);
}else{
printf("%d ",data[i][j]);
}
}
printf("\n");
}
}
return 0;
}

