代码
include<stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
for(int k = 0; k < n; k++){
int T, flag = 1;
scanf("%d", &T);
int a[10][10];
for(int i = 0; i < T; i++){
for(int j = 0; j < T; j++){
scanf("%d", &a[i][j]);
if(i > j && a[i][j] != 0)
flag = 0;
}
}
if(flag){
printf("YES
");
}else{
printf("NO
");
}
}
return 0;
}
思路:首先定义矩阵的阶数,然后调用scanf函数,
定义整型变量i,j.用for语句进行循环,对行和列进行打印,再次调用scanf 语句从T中选择一个数,将行和列分别于数组中的这个数进行比较。每一次比较完成之后,判断完上三角矩阵对角线以下的数字是否全为零?定义一个flag变量进行数据初始化设置,最后用if条件语句实现跳出循环,输出YES/NO。
运行结果图
总结:一定要多看书上的例题。还有收到了群里助教发的视频的启发,对行和队列打印完之后一定要进行初始化设置。要多与同学交流解题的思路和画流程图。