描述
给一个由 0 和 1 组成的矩阵,其中有两行相同,仅通过遍历找到相同的行。输出行数。
如:
输出重复的行号为 1 和 3(行号从1开始)
输入
单组数据。表示由0和1组成的矩阵,使用换行符分隔行,使用空格分隔每行内的元素。
矩阵必然存在且只有一对重复的行。
输出
输出 1 行,使用空格分隔代表行号的两个整数,表示重复的两行。
输入样例
1 0 0 1 0
0 1 1 0 0
1 0 0 1 0
0 0 1 1 0
0 1 0 0 0
输出样例
1 3
代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#include <ctype.h>
int main()
{
int i=1,j=1,m,n,k,l=1,a[50][50]; //i行j列
char ch='\n';
for(i=1;i<50;i++)
{
j=1;
scanf("%d",&a[i][j]);
ch=getchar();
while(ch==' ')
{
scanf("%d",&a[i][++j]);
ch=getchar();
}
if(ch=='\n')
break;
}
for(m=1;m<i;m++)
{
for(n=m+1;n<=i;n++)
{
for(k=1;k<=j;k++)
{
if(a[m][k]!=a[n][k])
{
l=0;
break;
}
else
l=1;
}
if(l==1)
break;
}
if(l==1)
break;
}
printf("%d %d",m,n);
}
心得
- 此代码又是在电脑上运行无误而在oj上就出错。。。。。。