#include <stdio.h> #include <stdlib.h> int main() { int m, n; while (scanf("%d %d", &m, &n) != EOF) { int** arr = (int**)malloc(sizeof(int*)*m); for (int i = 0; i < m; i++) { //初始化并读入数组 arr[i] = (int*)malloc(sizeof(int) * n); for (int j = 0; j < n; j++) { scanf("%d", &arr[i][j]); } } for (int i = 0; i < m; i++) { int max = arr[i][0], maxIndex = 0, sum = arr[i][0]; for (int j = 1; j < n; j++) { //找每行最大值 sum += arr[i][j];//求行和 if (arr[i][j] > max) { max = arr[i][j]; maxIndex = j; } } arr[i][maxIndex] = sum; } for (int i = 0; i < m; i++) { //输出 for (int j = 0; j < n; j++) { printf("%d ", arr[i][j]); } printf("\n"); } } return 0; }