一 、题目链接
二、题目截图
三、 代码答案:(c语言实现)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int n, m;
void reset(int arr[n][m], int x, int y) {
for (int i = 0; i < n; i++) {
arr[i][y] = 0;
}
for (int i = 0; i < m; i++) {
arr[x][i] = 0;
}
return;
}
int main() {
scanf("%d %d", &n, &m);
int arr[n][m];
int res[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &arr[i][j]);
res[i][j] = arr[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] == 1) {
reset(res, i, j);
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d", res[i][j]);
if(j == m-1) printf("\n");
else printf(" ");
}
}
return 0;
}
注意点:
1.注意输出格式,也就是题目红字描述对的地方
2.注意不要在原数组里面进行操作