PTA多维数组编程题:7-1精准查找

7-1精准查找

题目给出一个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 

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;
}

 这道题注意一下换行即可

你可能感兴趣的:(PTA基础题,算法,数据结构,PTA,c语言,编辑器,开发语言)