1,设计思想:求出所有连续子数组的和,然后进行数组和的比较。一边求和,一边比较大小数组里面有正数有负数,当与负数相加,如果和小于等于0,和等于未加负数之前的和,与正数相加则等于加正数之后的和。
2,代码:
#include<iostream> #include<new> using namespace std; int main() { int n,i,sum=0; int *p; cout<<"请输入数组的长度:"<<endl; cin>>n; p=new int[n];//动态申请空间 if (p == NULL)//申请是否成功判断 { cout << "错误!"<<endl; return 1; } int max=p[0]; cout<<"请输入数组内的数:"<<endl; for(i=0;i<n;i++) { cin>>p[i]; } for(i=0;i<n;i++) { if(sum<=0) { sum=p[i]; } else { sum=sum+p[i]; } if(sum>max) { max=sum; } } cout<<"子数组和的最大值为:"<<max<<endl; delete [] p;//释放动态空间 return 0; }
3,截图:
 
4,总结:题目给我第一反应就是用数组来写,所以我就去找了大一下半年关于数组的程序,动态数组的程序和这个有些许类似,有所借鉴。一开始的思路是将数组中的每个数进行定义,然后相加,后来实行过程中比较麻烦。但是前一种思路相对简单吧。又复习了一遍数组解决问题编写程序的方法,感觉对数组的运用不是很好。
姓名:朱慧敏 日期:3/22
| 任务/日期 | 听课 | 编程序 | 阅读课本 | 准备考试 | 
 | 
 | 日总计 | 
| 周五 | 210 | 
 | 
 | 83 | 
 | 
 | 293 | 
| 周六 | 
 | 173 | 105 | 81 | 
 | 
 | 369 | 
| 周日 | 
 | 365 | 
 | 
 | 
 | 
 | 365 | 
学生:朱慧敏 日期:3/22/2015
教师:王建民 课程:软件工程概论
| 日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 | 备注 | 
| 3/20 | 10:00 | 12:00 | 10 | 110 | 上课 | 软件工程概论 | 
| 
 | 2:00 | 3:50 | 10 | 100 | 上课 | 概率论 | 
| 
 | 20:23 | 21:46 | 
 | 83 | 写作业 | 数据库 | 
| 3/21 | 10:23 | 11:44 | 
 | 81 | 写作业 | 数据库概率论 | 
| 
 | 15:45 | 17:30 | 
 | 105 | 看书 | 梦断代码 | 
| 
 | 19:30 | 22:23 | 
 | 173 | 编程序 | 数组 | 
| 3/22 | 8:30 | 16:00 | 
 | 
 | 运动休息 | 骑行 | 
| 
 | 16:20 | 23:05 | 40 | 365 | 编程序 | 发微博 | 
缺陷记录日志
学生:朱慧敏 日期:3/22
教员:王建民 程序号:3
| 日期 | 编号 | 类型 | 引入阶段 | 排除阶段 | 修复时间 | 修复缺陷 | 
| 3/22 | 1 | 
 | 编码 | 编译 | 3min | 少} | 
| fatal error C1075: 与左侧的大括号“{”(位于“d:\bddownloads\vs2008\c程序\shuzu\shuzu\main.cpp(6)”)匹配之前遇到文件结束 | ||||||
原文:http://www.cnblogs.com/15732115368zhm/p/4357835.html