题目是:
我原先的代码是:
#include <bits/stdc++.h>
using namespace std;
void tri(int a[100][100],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i>j)
{
if(a[i][j]!=0) m=0;
}
}
}
}
int main()
{
int t,n,h,m;
int a[100][100];
cin>>t;
for(h=0;h<t;h++)
{
m=1;
cin>>n;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
}
}
tri(a,n,m);
if(m==1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
结果:
后来把函数类型改成了int,并且去掉形参实参m:
#include <bits/stdc++.h>
using namespace std;
int tri(int a[100][100],int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i>j)
{
if(a[i][j]!=0) return 0;
}
}
}
return 1;
}
int main()
{
int t,n,h,m;
int a[100][100];
cin>>t;
for(h=0;h<t;h++)
{
m=1;
cin>>n;
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
}
}
if(tri(a,n)==1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
结果: