zoukankan      html  css  js  c++  java
  • 软件工程课堂训练——数组之大数溢出

    一、题目及要求:

          题目:返回一个整数数组中最大子数组的和。

          要求(新加):①要求程序必须能处理1000个元素;②每个元素都是int32类型的。

          结对人员:胡亚宝  焦燕

    二、设计思路:

          ①处理1000个元素的问题,我们将数组的长度设为1000,其中的每一个元素都是随机生成,因为这道题目重点是溢出问题,所以我们将它们设的值都比较大;

          ②现阶段我们将它们都设为int型,超过表示范围时,系统会自动转化成负值,判断后将显示溢出。

    1 // 结对开发— 胡亚宝 焦燕
     2 
     3 #include "stdafx.h"
     4 #include "stdlib.h"
     5 
     6 int _tmain(int argc, _TCHAR* argv[])
     7 {
     8     int i,j,a[1000]; 
     9     int Sum,Max;
    10     printf("随机生成的数组为:
    ");
    11     for(j=0;j<1000;j++)
    12     {
    13         a[j]=rand()+100000000;
    14         printf("%d	",a[j]);
    15     }
    16 
    17     Max = a[0];  
    18     
    19     for(i=0;i<1000;i++)  
    20     {
    21         Sum = 0;             
    22         for(j=i;j<1000;j++)  
    23         { 
    24             Sum =Sum+ a[j];
    25             if(Sum<=0)
    26             {
    27                 //printf("溢出!");
    28                 Sum=0;
    29             }
    30             if(Sum > Max)  
    31             {
    32                 Max =Sum;    
    33             }
    34         }  
    35     } 
    36    
    37     return 0;
    38 }

    四、测试及运行结果:

    五、心得体会:

          这一次的实验我们在以前原来的基础上写的,程序自动生成了1000个数,这个方面没问题。就是求得的结果总不是正确的。我们的溢出得出来和其他同学的不一样,不是0。而是一直得出一个相同数。最后设定如果sum<=0,则输出溢出。

         这次的结对开发中,我们遇到的问题不好解决,溢出的表现和其他同学不相同,我和胡亚宝都挺着急,虽然解决方案并不是特别完美,但两个人在合作过程中变得更加默契。

       

  • 相关阅读:
    Head first java chapter 8 接口与抽象类
    Head first java chapter 4 对象的行为
    Head first java chapter 3认识变量
    Head first java chapter 2 拜访对象村
    Head first java chapter 1
    Invalid left-hand side in assignment
    swtich多个case使用同一操作
    CSS绘制小三角
    超出文字出现省略号不换行
    css代码实现列表等宽
  • 原文地址:https://www.cnblogs.com/123jy/p/4376644.html
Copyright © 2011-2022 走看看