zoukankan      html  css  js  c++  java
  • 第三周作业

    7-1 判断上三角矩阵 (15 分)

    上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
    本题要求编写程序,判断一个给定的方阵是否上三角矩阵。

    输入格式:

    输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。

    输出格式:

    每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。

    输入样例:

    2
    3
    1 2 3
    0 4 5
    0 0 6
    2
    1 0
    -8 2

    输出样例:

    YES
    NO

    人家的正确的源代码

    
    #include<stdio.h>  
    
    int main()  
    
    {  
    
    	int T;
    
    	scanf("%d
    ",&T);		//输入方阵的个数 
    
    	
    
    	int i,j,t,flag;
    
    	int a[10][10],Tab[100];
    
    	for(t=1;t<=T;t++){
    
    		flag=1;				//flag值为1表示方阵是上三角矩阵 
    
    		scanf("%d
    ",&Tab[t]);		//输入每个方阵的行列数Tab[i] 
    
    		for(i=0;i<Tab[t];i++){
    
    			for(j=0;j<Tab[t];j++){
    
    				scanf("%d",&a[i][j]);		//输入每个方阵的元素 
    
    				if(i>j){					//判断该方阵是否为上三角 
    
    					if(a[i][j]!=0) {
    
    						flag=0;
    
    			
    
    					}
    
    				}
    
    			}
    
    		}
    
    		if(flag) printf("YES
    ");
    
    		else printf("NO
    ");
    
    	}
    
    	
    
    	return 0;
    
    }  
    
    

    我的答案错误的源代码

    
    #include<stdio.h>
    int main(void)
    {
    	int T;//定义矩阵的个数;
    	int n;//定义矩阵的阶数; 
    	int a[10][10];//定一个二维数组;
    	int i,j;//表示矩阵的行数和列数; 
    	int flag=0;
    
    	scanf("%d",&T);
    	
    	for(i=0;i<T;i++)//输入矩阵个数的循环; 
    	{ 
    	    flag=0;//确保不影响下次判断矩阵的结果; 
          scanf("%d",&n);//输入一个矩阵的阶数; 
    	    for(i=0;i<n;i++)//输出矩阵的行数的循环; 
    	    {
    	    	for(j=0;j<n;j++)//输出矩阵的列数的循环; 
    	    	{
    			    scanf("%d",&a[i][j]);
    			  }
    	    }
      } 
            for(i=0;i<n;i++)//进行判断是否为上三角矩阵 
            {
            	  for(j=1;j<n;j++)
    			     {
    				      if(a[i][j]==0)
    				       {
    				        flag=0; 
    			                 }
    				      else
    				     { 
    			    	   flag=1;
    			    	   break;
    			                }	
    			     }
    	      }		 
    			if(flag==0){
    				printf("YES
    ");
    			}
    			else{
    				printf("NO
    ");
    			}
    			    
    		
    		return 0;
        
    } 
    
    

    pta错误截图

    解决方法

    我不知道怎么改

    流程图

    pta正确截图

    我的感想

    我的源代码的矩阵的阶数用n表示,别人用一个数组表示,是不是错在此处?

  • 相关阅读:
    js 把数组中每个元素的某个字段取出
    vue 实现单选/多选效果
    js常用的array方法
    js的split()和join()的用法
    HTML 转 PDF 之 wkhtmltopdf
    微信小程序api封装(promise)
    常用的正则表达式
    更改MySQL的存储目录
    CentOS 6.X 安装VirtualBox-5.1
    CentOS 6.X 安装VNC Server实现图形化访问
  • 原文地址:https://www.cnblogs.com/clayLJX/p/10541542.html
Copyright © 2011-2022 走看看