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
    

    1.代码。

    #include<stdio.h>
    int main(void){
    	int t;
    	
    	scanf("%d", &t);
    for(int r=0; r<t; r++){
    		int n,i,j, q = 1;
    		scanf("%d",&n);
    		int a[10][10];
    		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 = 0; j < i; j++){
    				if( a[i][j] != 0)
    					q = 0;
    			}
    		} 
    	
    		
    		if(q)
    			printf("YES
    ");
    		else
    			printf("NO
    ");
    		
    	}
    	
    	
    	return 0;
    }
    

    2.设计思路。

    ##3.问题与方法。 问题1:用了两次循环,但是只判断一次,输出一个答案。 方法:将判断的if语句放到第一个for循环结构中。 问题2:输出的答案是一致的,答案是错误的。 方法:用来进行判断的字符,应该进行重置。 ##4.运行编辑图。

    基础作业.

    例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]

    输入:

    请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。

    输出

    在不删除原有文件内容的情况下,将最大子数组以及子数组的和写入文件。

    1.代码。

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main(void)
    {
    	FILE * fp;
    	int n,i,j,p,q;
    	int a[100];
    	int sum=0,max=0;
    	if((fp=fopen("C:\f12-1.txt\f1.txt","r+"))==NULL){
    	printf("File open error!
    ");
    	exit(0);
        }
        scanf("%d",&n);
        fprintf(fp,"%d
    ",n);
        for(i=0; i<n; i++){
        	scanf("%d",&a[i]);
        	fscanf(fp,"%d",&a[i]);
        	fprintf(fp,"%d",a[i]);
    	}
        for(i=0; i<n; i++){
        		int sum=0;
        		for(j=i; j<n;j++){
        			sum+=a[j];
        			if(sum>max)
        			max=sum;
    			}
    	}
    	for(i=0; i<n; i++){
    		 sum=0;
    		for(j=i; j<n; j++){
    			sum+=a[j];
    			if(sum=max){
    				p=i;
    				q=j;
    				break;
    			}
    		}
    	}
    	   printf("
    ");     
    	fprintf(fp,"%d",max);
    	printf("
    %d",max);
    	if(fclose(fp))
        {
        printf("Can not close the file!
    ");
        exit(0);
        }
        return 0;
    }
    

    2.设计思路。

    ##3.问题与方法。 问题1:输入一个数字n后,就无法运行下去。 方法:是下面的for语句中,少一个取地址符。 问题2:输入数组中的数无法输出。 方法:还需要一个fscanf语句,不应只是需要一个fprintf语句。 ##4.运行编辑图。 #学习进度条。
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第一周 2.23-3.2 三天 40 一维数组的定义和使用;一维数组的初始化;以及使用一维数组编程 一维数组的定义,以及字符的定义,不能很好的定义;以及使用for循环语句输入数值,字符,觉得不是很得心应手
    第二周 3.3-3.9 四天 70 使用文件来编程;了解文件的概念;文本文件与二进制文件;缓冲文件系统;文件的结构与文件类型指针;文件的打开方式 文件的输入输出,无法确保其输入输出,总是会忘记再加上fscanf与fprintf;以及文本的使用,不知道如何更好地使用
    第三周 3.10-3.16 三天 80 预习二维数组;了解其定义与引用; 了解其用法与初始化 文件的使用还有很大的问题,总是会出现无法打开其文件的错误;二维数组则是下标的确立有问题
    #学习感悟。 随着时间的推进,知识点越来越多,而解决问题的方能力却没有很好的提升,这是自己的不足;随着这次老师叫我们自己学习,自身的自学能力还有很大的提升;前面所学习的知识点,也因该去多多的回顾,进行自身的改正。
  • 相关阅读:
    SHELL基础
    阿里
    Ansible基础
    js实现的跳转页面方法实现汇总
    绕过js-sdk,微信转发的时候在标题添加时间和地点。
    wechat-js-sdk
    js调用百度地图api实现定位
    微创网站工作总结:用错地方的资源
    项目进行时—整理
    js实现双击改变文本内容
  • 原文地址:https://www.cnblogs.com/chenanping/p/10537872.html
Copyright © 2011-2022 走看看