一、题目及要求:

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

要求(新加):①要求程序必须能处理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("随机生成的数组为:\n");
11     for(j=0;j<1000;j++)
12     {
13         a[j]=rand()+100000000;
14         printf("%d\t",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 }

四、测试及运行结果:

五、心得体会:

这个题目是考察我们大数溢出的问题,之前我们写的程序几乎都没有考虑这些问题,这次也是提醒我们,在以后的编程中,大数溢出是不可忽视的问题。
      在思考思路的时候,我们首先设定了非常大的数,观察如果数据太大而超出定义变量能表示的范围将会怎样,我们发现,如果加的和值太大,系统将自动转化成一个非常大的负值,于是我们想到了随机生成的数组元素都设为正的大数,再一个个累加,如果和值出现负数,那么肯定是溢出问题,这样把结果显示出来。
      这次的合作我们两个一开始都没有头绪,和别的同学讨论过后才开始进行编写。这个小程序还是有不完善之处,比如解决这种溢出问题我们还是有点困难,在讨论过后希望能解决它。

附:合照

转载于:https://www.cnblogs.com/huyabaoboke/p/4373880.html

软件工程课堂作业(八)——结对开发(三)相关推荐

  1. 软件工程课堂作业(三)——Right-BICEP软件单元测试

    一.测试方法:Right-BICEP Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...

  2. 软件工程第一次作业(结对作业)

    代码复审 1.问题描述 (1). 首先在同学中找一个同伴,范围不限,可以在1~5班中随意组合,建议尽量不要找同组的成员,女同学尽量找男同学结对,但是不做强制要求: (2). 从以往个人完成的项目中选择 ...

  3. 数据库系统原理实验作业八:第三章最后

    练习 一,数据查询(最后一部分) 1.集合查询 ①.并集 ②.交集 ③.差集 2.基于派生表的查询 3.总结 二,数据更新 1.插入数据 ①插入元组 ②插入子查询结果 2.修改数据 ①修改某一个元组的 ...

  4. 软件工程课堂作业(十六)——找“1”的个数

    一.题目: 给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现"1"的个数. 要求:写一个函数f(N),返回1到N之间出现1的个数.例如,f(12)=5. 二 ...

  5. 软件工程课堂作业——寻找“水王”

    一.题目: 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个"水王",他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该"水王&qu ...

  6. 软件工程实训——点歌管理系统开发记录

    软件工程期末作业--点歌管理系统开发记录 博客 http://blog.csdn.net/kernel_/article/details/49459947 github项目的地址 https://gi ...

  7. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)

    软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) ...

  8. 软件工程(2018)结对编程第一次作业

    软件工程(2018)结对编程第一次作业 本次作业要求对结对编程队友进行一次代码审查. 代码审查表如下 功能模块名称 图的邻接矩阵输出 审查人 李宗健 审查日期 2018/4/6 代码名称 图的邻接矩阵 ...

  9. JDG人脸识别课堂管理系统全栈开发流程报告-软件工程实践报告

    JDG人脸识别课堂管理系统全栈开发流程报告-软件工程 ⭐️ 本报告的代码部分和程序设计参考了 计算机18-1班张宇哲(学号181002406)同学 在Gitee仓库发布的AI-Attendance,本 ...

最新文章

  1. WP8.1 Study4:WP8.1中控件集合应用
  2. 计算机网络基础 — 网络设备 — 路由器(Router)
  3. switch与if效率实例解析·5年以下编程经验必看【Python】
  4. Ghost文件封装说明
  5. PERL 实现微信登录
  6. [蛋蛋の插画日记]囧...居然漏了一期《可爱100》!
  7. rabbitmq 同步策略_RabbitMQ高可用方案总结
  8. CentOS7升级内核kernel5.0
  9. 自动驾驶中的滞后碰撞检测(lazy-collision-checking)
  10. oracle等待事件查询,Oracle查看等待事件_yh_zeng2的博客-CSDN博客
  11. sgu 101 domino
  12. 清除Eclipse和Myeclipse中的工作空间目录
  13. 蓝牙学习笔记(八)——BLE 4.0 的128Bits/32Bist/16Bits的UUID
  14. version GLIBC_2.28 not found
  15. 苹果电脑更改sd卡只读_SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡
  16. 揭秘springboot集成tomcat原理
  17. 【错误解决】Ubuntu20.04安装输入法遇到的问题
  18. 坚定信念,雨后终会见彩虹
  19. 使用python+opencv写一个简单的条形码识别代码
  20. SqlSugar 6.导航查询

热门文章

  1. 网站测试自动化系统—系统应该有的功能
  2. RM格式转换成VCD
  3. 2021-08-25路演的反馈
  4. ae这样设置导出比较快 480p比较适合快速看看demo的样子,注意tradeoff
  5. comp313 formal methods lec1
  6. ARMV7,ARMV8
  7. 在CentOS 7系统里使用465端口发送邮件
  8. 冒泡排序的多种写法、逻辑
  9. Spring中Bean的后置处理器
  10. Vysor_v1.6.9