给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。

本文探讨如何检查一个n*n的矩阵,其中包含0和1,确保每行和每列的1数量均为偶数。文章通过两种方法进行分析,包括使用memset函数的简单方法和一种更复杂的方法。
摘要由CSDN通过智能技术生成

 一种使用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]);         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值