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,n,m,i,j,c;
        int a[10][10],b[10];
        scanf("%d",&T);
        for(c=0;c<T;c++){
            scanf("%d",&n);
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    scanf("%d",&a[j][i]);
                            if(j<i&&a[j][i]!=0){
                               b[m]=1;
                    }
                }
            }
            m++;
        }
        for(m=0;m<T;m++){
            if(b[m]==1){
                printf("NO
    ");
        }
            else{
                    printf("YES
    ");
            }
        }
        return 0;
    }

    思路

    错误截图

     正确

    做这题时其实思路不怎么清晰,大部分都是参考别人的代码才懵懵懂懂知道点,这让我明白自己的不足,

    给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
    例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]
    输入:
    请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
    输出
    在不删除原有文件内容的情况下,将最大子数组以及子数组的和写入文件。

    实验代码

    #include<stdio.h>
    #include<stdlib.h>  
    int main(void)
    {
        FILE*fp;
        int i,x,y,n,sum2,sum3,h,l;
        int a[10];
        if((fp=fopen("G:\MediaEditor\liuyao.txt","a+"))==NULL){
            printf("File open error!
    ");
            exit(0); 
        }
        fscanf(fp,"%d
    ",&n);
        printf("%d
    ",n);
    for(i=0;i<n;i++){
       fscanf(fp,"%d,",&a[i]);
       printf("%d,",a[i]);
    }
        for(x=0;x<n;x++){
            sum2=0;
           for(y=x;y<n;y++){
            sum2=sum2+a[y];
            if(sum2>sum3){
                h=x;
                l=y;
                sum3=sum2;
               }
           }
        }
        printf("
    ");
        fprintf(fp,"
    ");
        for(h;h<=l;h++){
            printf("%d,",a[h]);
            fprintf(fp,"%d,",a[h]);
        }
    printf("
    %d",sum3);
    fprintf(fp,"
    %d",sum3);
        if(fclose(fp)){
            printf("Can not close the file!
    ");
            exit(0);
        }
        return 0;
    }

    这个题我是一点思路都没有,就连代码都是直接参考何磊同学的,这充分体现出了我还需要更加的努力去学习。

    学习进度条

    /日期

    这周所花的时间

    代码行数

    目前比较迷惑的问题

    这周所学到的知识点

    3/12-3/18

    4h

    71

    嵌套循环到底是怎么搞得

    了解了二维数组

  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/liuz98/p/10537787.html
Copyright © 2011-2022 走看看