输入描述:第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。从第2行到n+1行,欸行输入n个整数,用空格分隔,共输入n*n个数。
输出描述:一行,如果输入方阵是上三角矩阵输出“YES”并换行,否则输出“NO”并换行。
具体代码:
#include <stdio.h>
int main()
{
int n = 0;
int arr[10][10] = {0};
scanf("%d",&n);
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i>j)
{
if(arr[i][j]!=0)
{
printf("NO\n");
return 0;
}
}
}
}
printf("YES\n");
return 0;
}
//优化一下
#include <stdio.h>
int main()
{
int n = 0;
int arr[10][10] = {0};
scanf("%d",&n);
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
if(i>j)
{
if(arr[i][j]!=0)
{
printf("NO\n");
return 0;
}
}
}
}
printf("YES\n");
return 0;
}
//这种可以边输入便判断,一旦不符合要求就会停止录入给出判断。