软件工程概论作业:返回一个整数数组中最大子数组的和

求所有子数组的和的最大值实验思路:

从第一个元素开始循环,再嵌套另外一个循环,从每一个元素开始,依次加上后边的元素。

当和大于最大值时,把和赋值给最大值,并记录此时首元素的下标和尾元素的下标

程序代码如下

int main()
{
 int a[10];
 int b[5];
 int i,j,t;
 printf("请输入10个数(相邻两个数字为一个新数组):\n");
 for(i=0;i<10;i++)
  scanf("%d",&a[i]);
 getchar();
 b[0]=a[0]+a[1];
    b[1]=a[2]+a[3];
 b[2]=a[4]+a[5];
 b[3]=a[6]+a[7];
 b[4]=a[8]+a[9];
 printf("\n");
 for(j=0;j<4;j++)
 {
  if(b[j]>b[j+1]) {t=b[j];b[j]=b[j+1];b[j+1]=t;}
 }
   printf("字数组的和最大值为:\n");
   //for(i=0;i<10;i++)
    printf("%d",b[4]);
   printf("\n");
   getchar();
   return 0;
}
 
运行结果如图
 
 

猜你喜欢

转载自www.cnblogs.com/princehai/p/9752035.html
今日推荐