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

    基础作业
    本周没上课,但是请大家不要忘记学习。
    本周请大家完成上周挑战作业的第一部分:给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
    例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]
    输入:
    请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
    输出
    在不删除原有文件内容的情况下,将最大子数组以及子数组的和写入文件。

    1,实验代码:


        int Array[n];
        char str[2*n];
        if((fp=fopen(filename,"w"))==NULL)
        {
            printf("cannot openfile");
           
            exit(0);
        }
       
        getchar();
        gets(str);
        fputs(str,fp);
        fclose(fp);
      
        FP=fopen(filename,"r+");
        for(i=0;i<n;i++)
        {
            fscanf(FP,"%d,",&Array[i]);
        }
      
        max=Array[0];
        for(i=0;i<n;i++)
        {
            a=i;
            b=0;
            c=0;
            for(a;a<n;a++)
            {
                c++;
                b=b+Array[a];
                if(max<b)
                {
                    d=c;
                    e=i;
                    max=b;
                }  
            }
        }
        fprintf(FP," ");
        for(e;e<=d+1;e++)
        {
            fprintf(FP,"%d,",Array[e]);
        }
        fprintf(FP," %d",max);
       
        fclose(FP);
    }
    2,设计思路

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

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

    4,运行结果截图

    5).本题用时3小时30分钟,30用与写与调试,3小时阅读思考

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题  
    3/2-3/8 3天 300 指针、文件、数组 getchar()不知道  
    3/9-3/13 2天 200 指针 文件 -
  • 相关阅读:
    面试遇到的相关问题
    webpack的学习之旅
    ajax请求数据
    css选择器
    对BFC的理解
    对React的理解
    获取DOM的真实节点
    翻转拼图网页小游戏制作
    acm比赛刷题小技巧
    动态规划 背包九讲的实现。
  • 原文地址:https://www.cnblogs.com/tzw1026/p/10538089.html
Copyright © 2011-2022 走看看