再多的表情也无法诠释我现在的心情!!!!!!!!
这是很水的一道题,然而却整整折腾了我2个多小时。从晚上6点多开始,花了没几分钟就把代码敲好了,可是数据一测,竟然不对,然后就开始找问题,找了很久,我竟然都还没看出问题在哪,越找心里越不爽,这么做明明对的呀,一运行怎么就错了呢?一直到了8点,同学来叫我跑步去,我都没看出来(眼神差上不起啊)诶,不管了,先去跑步吧。9点回来继续找问题,有找了一个小时,彻底崩溃,决定上网搜,搜到个几乎一模一样的,对比了一下,还是没看出哪里出问题,而一运行答案却不同。然后叫来同学帮忙看看哪里不一样,还是他眼神好啊,看了两遍,终于看到 那个该死的分号了。
做题的时候太急了,一发现运行出错,没能静下心来仔细检查代码,一遍两遍没看出问题在哪,心里就更急了,当然就更不容易看出哪出现问题。这必须改啊! 还有,审题也要仔细,不能急,看清题目再下手!!!切记切记!!!!
贴下代码吧
错误代码:
/*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int A[11][11],B[11][11];
int C[11][11];
int main()
{
freopen("input.txt","r",stdin);
int n,m;
while(scanf("%d %d",&n,&m)&&n)
{
int i,j;
memset(A,0,sizeof(A));
memset(C,0,sizeof(C));
memset(B,0,sizeof(B));
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
scanf("%d",&A[i][j]);
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
scanf("%d",&B[i][j]);
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
int r=0,l=0;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(C[i][j]!=0)
break;
}
if(j>=m)
r++;
}
for(j=0; j<m; j++)
{
i=0;
for(i=0; i<n; )
{
if(C[i][j]!=0);
break;
i++;
}
if(i>=n)
l++;
}
printf("%d\n",r+l);
}
return 0;
}
网上找的:
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
freopen("input.txt","r",stdin);
int A[11][11];
int B[11][11];
int C[11][11];
int M,N;
int i,j;
while(cin>>M>>N,M!=0)
{
int k =0;
memset(A,0,sizeof(A));
memset(B,0,sizeof(B));
memset(C,0,sizeof(C));
for(i=0;i<M;i++)
for(j=0;j<N;j++)
cin>>A[i][j];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
cin>>B[i][j];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
C[i][j]=A[i][j]+B[i][j];
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
if(C[j][i] != 0)
break;
}
if(j==M) k++;
}
for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
{
if(C[j][i] != 0)
break;
}
if(i==N) k++;
}
cout<<k<<endl;
}
// system("PAUSE");
return 0;
}