题目
若一个布尔矩阵所有行和所有列的和都是偶数,则称为偶数矩阵。请编写一个程序,判断一个布尔矩阵是否是偶数矩阵。
要求:
(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;
}
效果