九度 1002 A+B for Matrices 2011年浙江大学计算机及软件工程研究生机试真题

题目1001:A+B for Matrices

时间限制:1 秒

内存限制:32 兆

特殊判题:

 

 

题目描述:

    This time, you are supposed to find A+B where A and B are two matrices, and then count the number of zero rows and columns.

输入:

    The input consists of several test cases, each starts with a pair of positive integers M and N (≤10) which are the number of rows and columns of the matrices, respectively. Then 2*M lines follow, each contains N integers in [-100, 100], separated by a space. The first M lines correspond to the elements of A and the second M lines to that of B.

    The input is terminated by a zero M and that case must NOT be processed.

输出:

    For each test case you should output in one line the total number of zero rows and columns of A+B.

样例输入:
2 2
1 1
1 1
-1 -1
10 9
2 3
1 2 3
4 5 6
-1 -2 -3
-4 -5 -6
0
样例输出:
1
5
来源:
2011年浙江大学计算机及软件工程研究生机试真题
 

code:

 

#include<stdio.h>

int main()
{
    int m,n,i,j,count,temp;
    int a[10][10];
   
    while(scanf("%d",&m)!=EOF)
    {
      if(m==0)
       break;
      scanf("%d",&n);
      count=0;
      for(i=0; i<m; i++)
        for(j=0; j<n; j++)
          scanf("%d",&a[i][j]); 
      for(i=0; i<m; i++)
        for(j=0; j<n; j++)
        {
          scanf("%d",&temp);
          a[i][j]+=temp;
        }
         
      for(i=0; i<m; i++)
      {
        for(j=0; j<n; j++)
         if(a[i][j]!=0)
          break;
        if(j==n)
            count++;        
      }
      for(j=0; j<n; j++)
      {
        for(i=0; i<m; i++)
         if(a[i][j]!=0)
          break;
        if(i==m)
            count++;        
      }
     printf("%d\n",count);                    
    }
  return 0;
}

原文地址:https://www.cnblogs.com/hpuwangjunling/p/2989728.html