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

    本周请大家完成上周挑战作业的第一部分:给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
    例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]

    输入:

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

    输出

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

     实验代码

     #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int main()
     {
       FILE *fp;
       int i,j,n=8,b,c,max,sum;
       int a[8];
       if((fp=fopen("F:\C\liujin.txt","w+"))==NULL)
       {
        printf("File open error! ");
        exit(0);
       }
       for(i=0;i<8;i++)
           {
        scanf("%d",&a[i]);
       }

           for(i=0;i<n;i++)
          {
          sum=0;
          for(j=i;j<n;j++)
          {
            sum+=a[j];
            if(max<sum)
                {
            max=sum;
        }
       }
      for(i=0;i<n;i++)
      {
        sum=0;
        for(j=i;j<n;j++)
        {
            sum+=a[j];
            if(sum==max)
            {
                b=i;
                c=j;
                break;
            }
        }
       } 
       for(i=b;i<=c;i++)
       {
        fprintf(fp,"%d ",a[i]);
        printf("%d ",a[i]);
       }
      fprintf(fp," %d",max);
      printf(" %d",max);
      if(fclose(fp))
      {
        printf("Can not close the file! ");
        exit(0);
       } 
       return 0;
           }
       }
    设计思路
      

    3,遇到的问题及解决办法

    在将数据写入文件时,尝试将数组整体输入失败如:fprintf(FP,"%d,",Array[e]);、、、fputs(Array,FP);

    4,运行结果截图

     
  • 相关阅读:
    易联云-打印机
    通俗易懂了解Vue中nextTick的内部实现原理
    题解 CF1556E 【Equilibrium】
    题解 P6087 【[JSOI2015]送礼物】
    Redisson分布式锁源码分析
    Java代理模式
    java 8 去重
    jdk 8 list 转map Duplicate key WmSoDetail
    前端单点登录(SSO)
    Linux基础02 bash shell(命令补全, 快捷键, 历史命令, 命令别名alias, ls, man), 目录管理
  • 原文地址:https://www.cnblogs.com/liu99/p/10540880.html
Copyright © 2011-2022 走看看