结队编程总结

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

二.要求: 输入一个整形数组,数组里有正数也有负数。

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

求所有子数组的和的最大值。要求时间复杂度为O(n)。

三.结对编程要求: 两人结对完成编程任务。

一人主要负责程序分析,代码编程。 一人负责代码复审和代码测试计划。

发表一篇博客文章讲述两人合作中的过程、体会以及如何解决冲突(附结对开发的工作照)。

四.队员:孔维春,崔鹏勃

五.合作过程及体会:

我和崔鹏勃两人轮流负责程序,分析代码编程和代码复审,代码测试,加强了合作编程能力,对自己有很大提升,发生冲突时,先通过互相交流意见求同存异,再从网上查阅资料或者实际编程,选择最合适的方法,思路.

六.源程序代码

// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#include <iostream>
using namespace std;
#include<stdlib.h>
#include<time.h>
int main()
{
int i;
int a[10];
int max = 0;
int b = 0;

srand(time(NULL));
cout << "数组为:";
for (i = 0; i<10; i++)
{
a[i] = rand() % 201 - 100; //随机生成-10 到 10的整数
}
for (i = 0; i<10; i++)
{
cout << a[i] << " ";
}
cout << endl;

for (i = 0; i < 10; i++)
{
b += a[i];
if (b < 0)
b = 0;
if (b > max)
max = b;
}
if (max == 0)
{
max = a[0];
for (i = 0; i < 10; i++)
{
if (max < a[i])
{
max = a[i];
}
}
}
cout << "最大子数组为:" << max << endl;
system("pause");
return 0;
}

七.结果截图

时间: 2024-07-30 05:53:16

结队编程总结的相关文章

结队编程第三次作业

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Simple_arithmetic //简易四则运算{ class Program { public static void Ni() { Console.WriteLine("请输入您想做的运算: "); Console.WriteLine("输入 [+] 表示加法"); C

结队编程1-四则运算(107、120)

[码市链接]https://git.coding.net/Luojiening/Teamwork1.git a.需求分析 将这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一个有基本功能.一定价值的程序. 1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算: 2.有计时功能,能显示用户开始答题后的消耗时间: 3.界面支持中文简体/中文繁体/英语,用户可以选择一种. b.功能设计 1.生成自定义数目算术

结队编程之总结篇

结对编程之总结及体会 短暂而又漫长的俩周时间,我和我的队友黄冠译将结队编程的作业刚刚做好.先介绍一下我的队友黄冠译,大学三年的同学,对他挺熟悉,知道他编程特别厉害,喜欢专研.这次老师给我们这样好的机会,让我们交流,共同完成一个小的项目.我觉得我的队友特别聪明,特别有思想,最开始我没有想到会用C语言写界面,我学的C语言只不过是出现一个小黑框而已,再无深入,我队友提出用C语言的图形库来写界面,我在那时候只有震惊.可能是学的知识有限,只知道C语言就是用来写个小黑框的还能干什么.当我的队友把这次结队编程

结队编程——电梯调度

这次老师布置的作业是:结队编程完成电梯的调度. 1.与我结队编程的队员是张舒瑞:http://www.cnblogs.com/bjzsr/ 附上我们一起讨论编程问题时的照片: 2.让我来介绍一下我的队员张舒瑞:他是一个很外向的人,性格很活泼,也很聪明.我们从大一到现在一直都挺熟的,所以在讨论过程中不存在什么交流障碍. 3.在这次结队编程中,他负责写的是查找电梯函数的部分,我负责的是接人函数的部分.他编的代码很精简,而我总觉得我写的代码很繁琐,所以他比较注重算法效率,而我是特别注重界面美观的那一个

日程管理系统代码维护第二弹(结队编程)

结队编程的好处: 第一:培养新人,促进沟通,提升团队整体能力. 第二:更好的知识共享和信息交流,促进团队协作. 第三:促进团队成员的沟通,提升团队凝聚力. 但由于我们一开始的工作模式都是个人的,现在开始了这个结队编程少许有些不适应.因为要开始慢慢习惯队友的工作方式,习惯她的思考方式.一开始策划时意见总会不统一,在两个人慢慢磨合的情况下,开始了正式的工作. 首先我们两个人通读了这个日程管理系统,找出其中的BUG并且改正,在改完BUG后,开始改进和美化.它的程序里个人中心的界面是空白的,我们先画好界

20165214 结队编程项目-四则运算(第二周)

20165214 第一次结队编程项目--四则运算第二周 需求分析 本周的结队编程想要实现一个四则运算系统,它可以自动生成n个计算题(本周不包括分数),其中n由我们输入.每输出一道题目,运行程序的人需要输入相应的答案,直到最后一道题做完.最后,统计正确率.然后,在这个基础上可以进行相应的功能扩展,比如语言支. 设计思路 我需要在上周的基础上对程序进行补充.在题目的生成上,应该再加上括号.÷./ 本周达成: ①能够随机生成n道题目,n由我们输入,最大长度可直接在程序里面修改: ②支持真分数运算: ③

二分法思想体会和结队编程感想

1.二分法思想 二分法在编程中是一种十分重要的算法,其主要思想是将问题区间不断的折半进而能更快的寻找到目标,二分法能将数据较大的问题规模很好地缩小. 使用条件:数组中的元素有序            时间复杂度:O(log2n) 二分法算法: int BIN(int a[], int key, int n) { int left = 0; int right = n - 1; while (left <= right) { int middle = (left + right) / 2; if

20175126Apollo 20175126《Java程序设计》结队编程项目——四则运算 第一周阶段总结

结队编程项目——四则运算 一.项目需求 自动生成小学四则运算题目(加.减.乘.除)统计正确率 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 需求分析: 生成四则运算:需要使用随机数生成,需要创造一个能实现计算功能的类. 支持多运算符:运算符也需要利用随机生成,并且不限个数. 支持真分数:需要用到生成分子.分母的函数,将分数化简等. 统计正确率:需要设置一个计算变量,并需要用一个判断正确的函数. 二.设计思路 首先根据需求分析,进行大体的设计: 生成题目→输入答案→判断正

20175314 结队编程项目——四则运算第二周

20175314 结队编程项目--四则运算第二周 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 能生成随机数 产生的算式要有括号 要建立堆栈,进行中缀转后缀,以及后续后缀的运算 能输入想要产生的题目数 能输入用户计算的答案 能够比较用户输入的答案是否正确 能够统计用户答题的正确率 二.设计思路 生成一个有加减乘除支持括号的算式,以字符串的形式输出,每个操作数或操作符中间都用

分治和结队编程

分治法的思想 分治法就是把一个大问题分解为规模较小的相同小问题,这些小问题的解合并起来就是大问题的解,但是小问题的规模要是一样且相同的, 不能分解出来的一个小问题是求最大值,而 另一个小问题是求最小值,这种情况是不适合用分治的 如果要处理一个较大规模的问题,比如说大整数的加减乘除,是可以分解成最末位的一个数和最末位的数的运算,与小学数学中的手算的思想的一致的 分治法和递归是紧密联系的. 分治法可以运用于: 二分搜索, 归并排序 快排 还有汉诺塔问题 大整数乘法 [https://www.cnbl