题目

若一个布尔矩阵所有行和所有列的和都是偶数,则称为偶数矩阵。请编写一个程序,判断一个布尔矩阵是否是偶数矩阵。
要求:
(1)输入:首先输入一个正整数n(n<100),代表该矩阵的大小,接下来是n行n列的矩阵。输出:如果这个矩阵是偶数矩阵,则输出“yes”,否则输出“no”。
(2)需定义矩阵输入函数InputArray()。
(3)需定义偶数矩阵函数IsParity()。

完整解决方案

#include<stdio.h>

void InputArray(int a[100][100], int *n) {
    int i, j;
    scanf("%d", n);
    for (i = 0; i < *n; i++) {
        for (j = 0; j < *n; j++) {
            scanf("%d", &a[i][j]);
        }
    }
}

void IsParity(int a[100][100], int n) {
    int r, c;
    int i, j;
    int count = 0;

    for (i = 0; i < n; i++) {
        r = 0;
        c = 0;
        for (j = 0; j < n; j++) {
            r += a[i][j];
            c += a[j][i];
        }
        if (r % 2 != 0 || c % 2 != 0) {
            count++;
        }
    }

    if (count == 0) {
        printf("yes\n");
    } else {
        printf("no\n");
    }
}

int main() {
    int a[100][100];
    int n;
    InputArray(a, &n);
    IsParity(a, n);
    return 0;
}

效果

偶数矩阵判断【C语言作业】-LMLPHP
偶数矩阵判断【C语言作业】-LMLPHP

11-02 23:09