一种使用memset函数,另一种复杂一些
1.
/*
描述
给定n*n由0和1组成的矩阵,
如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。
你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。
"改变矩阵元素"的操作定义为0变成1或者1变成0。
输入
输入n + 1行,第1行为矩阵的大小n(0 < n < 100),
以下n行为矩阵的每一行的元素,元素之间以一个空格分开。
输出
如果矩阵符合条件,则输出OK;
如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。
如果不符合以上两条,输出Corrupt。
*/
#include<stdio.h>
#include<string.h> //包含memset函数
int main()
{
int a[101][101]; //0到100个
int b[100]; //行的计数
int c[100]; //列的计数
int n;
int s1,s2;
l1:printf("请输入n的值:");
scanf("%d",&n);
if(n<=0||n>=100) {
goto l1;
}
while(1)
{
b[0]=0;
c[0]=0;
for(int i=0;i<n;i++)
{
s1=0,s2=0;
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]); //输入的同时判断行中1的计数
if(a[i][j]==1)
{
b[i]++;
}
}
}
for(int i=0;i<n;i

本文探讨如何检查一个n*n的矩阵,其中包含0和1,确保每行和每列的1数量均为偶数。文章通过两种方法进行分析,包括使用memset函数的简单方法和一种更复杂的方法。
最低0.47元/天 解锁文章
2639

被折叠的 条评论
为什么被折叠?



