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,运行结果截图

     
  • 相关阅读:
    Java异常
    docker安装和介绍(基于centos 7)
    centos7搭建gitlab版本控制系统
    webstorm快捷键使用
    Extjs-note
    mak iso
    windows上的硬盘挂载到linux上的步骤方法
    【JAVA笔记——术】JSP中乱码问题的解决方法
    PHP获得IP方式
    ubuntu安装hadoop 若干问题的解决
  • 原文地址:https://www.cnblogs.com/liu99/p/10540880.html
Copyright © 2011-2022 走看看