besaudade4me 2022-12-07 16:24 采纳率: 100%
浏览 29
已结题

上三角矩阵显示部分正确问题

该问题(上三角矩阵)显示部分正确,一直测试却找不到问题所在,希望各位指出错误并能够对鄙人的程序指出优化意见
描述
输入一个n行n列的矩阵,判断该矩阵是否为上三角矩阵。
所谓上三矩阵是指主对角线以下的元素都为0的矩阵,而主对角线为从矩阵的左上角至右下角的连线。
输入
在一行中输入一个整数n(0<n≤20);
接着输入n行数据,每行有n个整数,每个整数之间用空格隔开。
输出
在一行中输出一个字符串。如果输入的矩阵是上三角矩阵,则输出“Yes”,否则输出“No”。

#include<stdio.h>

int main()
{
    int n, i, j, k, t = 0;
    scanf("%d", &n);
    int a[n][n];
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
            scanf("%d", &a[i][j]);
            
    int x, y;
        
    for(i=0; i<n; i++)
    {    
        for(j=0; j<n; j++)
        {   
            for(x=0; x<n; x++)
            {
                y = x;
                if(x>i && y>j && a[i][j] == 0)
                {
                   t = 1;
                   if(i == x && j == x) 
                   {  
                      t = 0;
                         if(x==i && y==j && a[i][j] == 0)
                            t = 1;
                    }
                }
            }
        }
    }
    if(t == 1) printf("Yes");
    else printf("No");
     
    return 0;
}

测试数据为:
3
1 2 3
0 4 5
0 0 6
显示:
Yes
或者:
2
1 0
2 3
显示:
No

展开全部

  • 写回答

1条回答 默认 最新

  • 於黾 2022-12-08 00:57
    关注

    你这逻辑显然不对
    一共只有2维数组,你为什么会写出个三重循环来
    你定义一个y=x,后面y就不变了,那你直接用x不好吗,y是干什么的
    你这逻辑乱糟糟的,还是先从头捋清楚如果手动判断是怎么样的过程,然后用代码自动实现这个过程
    你自己回头看代码,能讲清楚它是怎么工作的吗
    讲不清楚就删掉重来,不要在一个混乱的代码上修补
    -=-=-=
    提示:第i行前i个数是0,并且后面其余的数都不是0
    如果不满足条件就立即break不要浪费时间,循环完毕则说明是个上三角矩阵

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月9日
  • 创建了问题 12月7日

悬赏问题

  • ¥20 校园网认证openwrt插件
  • ¥15 以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
  • ¥15 某东JD算法逆向算法
  • ¥15 求GCMS辅导数据分析
  • ¥30 SD中的一段Unet下采样代码其中的resnet是谁跟谁进行残差连接
  • ¥15 Unet采样阶段的res_samples问题
  • ¥60 Python+pygame坦克大战游戏开发实验报告
  • ¥15 R语言regionNames()和demomap()无法选中中文地区的问题
  • ¥15 Open GL ES 的使用
  • ¥15 我如果只想表示节点的结构信息,使用GCN方法不进行训练可以吗
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部