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

    判断上三角矩阵(15 分) 上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
    代码:

    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;
    scanf("%d ",&Tab[t]);
    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;
    }
    问题:
    开始也搞不懂为什么数组a后面要两个【10】,还有scanf里面数组a是【i】与【j】一起取地址。
    后来听说是跟直角坐标轴一样,数组里面取值取两个,每个都可以从十个中取一个,所以要两个数组。
    设计思路:
    结果:

    基础作业
    :给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
    例如:[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;
    if((fp=fopen("E:新建文件夹wuao","a+"))NULL)
    {
    printf("File open error! ");
    exit (0);
    }
    int sum=0;
    int maxsum=0;
    int i,m=1;
    int *a=new int[m];
    cout <<"请输入数组个数 ";
    cin>>m;
    cout<<"输入一个整数数组,包含正负数 ";
    for (i=0;i<m;i++)
    {
    cin>>a[i];
    }
    for(i=0;i<m;i++)
    {
    sum+=a[i];
    if(sim<0)
    {
    sum=0;
    }
    if(sum>maxsum)
    {
    maxsum=sum;
    }
    }
    if(maxsum
    0)
    {
    maxsum=a[0];
    for(i=1;i<m;i++)
    {
    if(a[i]>maxsum)
    {
    maxsum=a[i];
    }
    }
    }
    cout<<"最大和="<<maxsum;
    }
    设计思路:

    问题:一开始不知道做,网上搜了搜,这种方法第一次见,但是也还是能看懂的,cout《那个差不多跟printf差不多,所以用了这种方式,相比博客上面同学写的,这个我能看懂大部分。

  • 相关阅读:
    axios增加的自定义header,后端request取不到
    ExecutorService 线程池 (转发)
    Java ExecutorService四种线程池的例子与说明(转发)
    如何合理地估算线程池大小?(转发)
    什么是CPU密集型、IO密集型?(转发)
    成功的唯一秘诀——坚持最后一分钟
    人生最精彩的不是实现梦想的瞬间,而是坚持梦想的过程
    贵在坚持
    第一个flask程序
    认识web
  • 原文地址:https://www.cnblogs.com/xzsx/p/10539636.html
Copyright © 2011-2022 走看看