寻找最大子数组

时间:2014-03-11 01:04:00   收藏:0   阅读:542
bubuko.com,布布扣
小组成员:贾川     李驭龙
算法设计思想:
随机输入一个个数为10的数组,然后定义一个函数,它的作用是讲这个数组的每个子数组都计算出来存入另一个临时数组,再把原来的数组接着插入到这个临时数组的后面,在这个临时数组中找到子数组和的最大值。



源程序代码如下:








#include "stdafx.h" #include "stdio.h" int A(int a[])//此函数的作用是计算出每个子数组的和进行比较,最后返回最大值max { int i,j,sum,max,m=0; int b[55]; for(i=0;i<9;i++) { sum=a[i]; for(j=i+1;j<10;j++) { sum=sum+a[j]; b[m++]=sum; } } m=45; for(i=0;i<10;i++) { b[m++]=a[i]; } max=b[0]; for(i=0;i<55;i++) { if(max<=b[i]) { max=b[i]; } } return max; } int main(int argc, char* argv[]) { int max; printf("please input 10 numbers:\n"); int m[10]; int i; for(i=0;i<10;i++) { scanf("%d",&m[i]); } max=A(m); printf("最大子数组和为: %d\n",max); return 0; }
bubuko.com,布布扣

下面是几种不同情况的输出结果:

 

bubuko.com,布布扣

 

bubuko.com,布布扣

 

bubuko.com,布布扣

 

设想计算草稿: 

 bubuko.com,布布扣

 

 

 bubuko.com,布布扣

寻找最大子数组,布布扣,bubuko.com

原文:http://www.cnblogs.com/ID-q-han/p/3591641.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!