软件工程课堂练习--结对开发
2015-03-29 23:44
204 查看
一、题目及要求:
题目:返回一个整数数组中最大子数组的和。
要求(新加):①要求程序必须能处理1000个元素;②每个元素都是int32类型的。
二、设计思路
这次练习依然是在之前一维数组的基础上完成的,此次的首要问题是要求程序能处理1000个数据并要求元素是int32型,所以会存在大数溢出问题,我们的想法就是将它找出并做 出警告
三、源程序
四、截图
五、心得体会
由于处理1000个数据出来的结果太长,所以我输入的是100个元素,其实1000个元素是能处理的,在程序中可以看出,我随机生成的元素比较大,所以就会出现大数溢出这种现象,然后程序找出,并提示数值已经溢出啦,结果会出现错误,程序就自己停止了
六、工作照
题目:返回一个整数数组中最大子数组的和。
要求(新加):①要求程序必须能处理1000个元素;②每个元素都是int32类型的。
二、设计思路
这次练习依然是在之前一维数组的基础上完成的,此次的首要问题是要求程序能处理1000个数据并要求元素是int32型,所以会存在大数溢出问题,我们的想法就是将它找出并做 出警告
三、源程序
//结对人员 盖相庚 曹美娜 #include "stdafx.h" #include "stdio.h" #include"stdlib.h" #include"time.h" #define N 1000 int compare( int arry[],int length) { int max ,max1; for(int j=0;j<length;j++) { int sum=0; max1=-987654321; for(int i=j;i<length;i++) { sum=sum+arry[i]; if(sum<0) //判断其是否溢出 { printf("数值溢出!\n"); return 0; } else if(sum>=max1) { max1=sum; } } max[j]=max1; printf("包含数组中第%d个数的所有子数组中和最大的值为:%d\n",j+1,max[j]); } int fmax=max[0]; for(int i=0;i<length;i++) { if(max[i]>fmax) fmax=max[i]; } printf("所有子数组的和的最大值为:%d\n",fmax); return 0; } int main(int argc, char* argv[]) { int arry ; int length; srand(time(NULL)); printf("请输入要比较整数的个数:"); scanf("%d",&length); for(int i=0;i<length;i++) { arry[i]=rand()+100000000; } printf("随机产生的数组为:\n"); for( i=0;i<length;i++) { printf("%d\t",arry[i]); } compare(arry,length); return 0; }
四、截图
五、心得体会
由于处理1000个数据出来的结果太长,所以我输入的是100个元素,其实1000个元素是能处理的,在程序中可以看出,我随机生成的元素比较大,所以就会出现大数溢出这种现象,然后程序找出,并提示数值已经溢出啦,结果会出现错误,程序就自己停止了
六、工作照
相关文章推荐
- 软件工程课堂练习--结对开发
- 课堂练习(数组结对开发)
- 软件工程课堂训练——结对开发Ⅱ
- 软件工程课堂练习——结队开发二
- 3月17号周二课堂练习:结对开发----返回一个整数数组中最大子数组的和一
- 软件工程课堂作业(八)——结对开发(三)
- 结对开发----电梯调度(课堂练习)
- 软件工程课堂作业(六)——结对开发(二)
- 结对开发----电梯调度(课堂练习)
- 3月20号周五课堂练习:结对开发----求二维数组组成的矩阵中子矩阵的最大值
- 3月31号周二课堂练习:结对开发----求二维数组组成的矩阵中子矩阵的最大值二
- 3月27号周五课堂练习:结对开发----返回一个整数数组中最大子数组的和三
- 软件工程课堂测试07(结对开发)
- 结对开发--课堂练习--c++
- 软件工程课堂训练——结对开发之环状二维数组
- 3月24号周二课堂练习:结对开发----返回一个整数数组中最大子数组的和二
- 软件工程课堂作业(十)——结对开发(五)
- 软件工程课堂作业(四)——结对开发(一)
- 软件工程课堂作业(九)——结对开发(四)
- 软件工程课堂练习--结对初体验