作业帮 > 综合 > 作业

C语言数组编程题求解!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 14:02:28
C语言数组编程题求解!
数组中按顺序存放着下列数据:11、19、9、12、5、20、1、18、4、16、6、10、15、2、17、3、14、7、13、15、8,你可以从逻辑上认为尾部的8和头部的11首尾相连,编程找出相邻的4个数,其相加之和最大.打印出这4个数和它们的起始位置(用数组下标表示)
要求用简单的语句来写!我只是个大一初学者...
include<stdio.h>
void main()
{
 int maxsum=0;
 int sum;
 int pos;
 int a[]={11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,15,8};
 for(int i=0;i<21;i++)
 {
  if(maxsum<(sum=a[i%21]+a[(i+1)%21]+a[(i+2)%21]+a[(i+3)%21]))
  {
   maxsum=sum;
   pos=i;  //记录最大数的下标
  }
 }
 printf("a[%d]+a[%d]+a[%d]+a[%d]=%d",pos%21,(pos+1)%21,(pos+2)%21,(pos+3)%21,maxsum);

}