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

2023-12-20 01:29:24

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

?这道题注意一下换行即可

文章来源:https://blog.csdn.net/etamaos/article/details/134811085
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。