题目给出一个n*m的棋盘,在棋盘上会落入一定数量且携带有数字的棋子,(没有落子的值为一般为0)我们需要统计出棋盘上棋子的数量,并且找到它相应的位置坐标
输入第一行给出n,m.接着输入一个n*m的二维数组
在第一行输出数组大小,以空格分隔,再输出棋盘落子数量,接着输出落子对应的坐标,及棋子所携带的数字。没有棋子则输出0
10 10
0 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 2 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 5 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 6 0 0
10 10 5
0 1 3
3 0 1
3 1 2
5 6 5
9 7 6
10 10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
10 10 0
#include <stdio.h>
int main() {
int a[100][100] = {0};
int n = 0, m = 0;
int count = 0; // 棋盘落子数量
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &a[i][j]);
if (a[i][j] != 0)
count++;
}
}
printf("%d %d %d\n", n, m, count);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] != 0)
printf("%d %d %d\n", i, j, a[i][j]);
}
}
return 0;
}
?这道题注意一下换行即可