问题遇到的现象和发生背景
判断上三角矩阵
问题相关代码,请勿粘贴截图
#include <stdio.h>
int main()
{
int i,j,m,a,b,ii,q,jj,ret,num;
int pd[10];
int ch[10][10];
scanf("%d",&ii);
for(jj=0;jj<ii;jj++)
{
num=1;
scanf("%d",&m);
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&ch[i][j]);
}
}
if(m==1)
{
num=0; //这一块主要用于判断矩阵为1时的特殊情况,如果为1,那么num就是0,在后面判断中输出no
}
ret=0;
for(a=0;a<m;a++)
{
for(b=0;b<a;b++)
{
if(ch[a][b]!=0)
ret++;
}
}
if(ret==0&&num!=0)
{
pd[jj]=1;
}else{
pd[jj]=0;
}
}
int z;
for(z=0;z<ii;z++)
{
if(pd[z]==1)
{
printf("YES\n");
}else{
printf("NO\n");
}
}
return 0;
}
结果正确,但是oj上面过不去
结果包括输入的矩阵为1和0