围坐成一圈的12个小朋友,每个人身上都有若干个苹果,大人要选出哪5个挨着坐的小朋友手中的苹果总数最多,你能帮助大人们编写一个程序来确定吗?请使用循环和数组实现。
课程设计
1
试题描述
围坐成一圈的12个小朋友,每个人身上都有若干个苹果,大人要选出哪5个挨着坐的小朋友手中的苹果总数最多,你能帮助大人们编写一个程序来确定吗?请使用循环和数组实现。
输入
输入12个整数,表示12个小朋友分别的苹果数。邻近两数之间用一个空格隔开。
输出
输出从第几个小朋友开始苹果总数最多。
输入示例
12 32 24 53 52 30 37 82 87 67 98 78
输出示例
8
数据范围
输入和输出均为int范围的整数
-
申请一个17个元素的数组,a[12]到a[16]重复a[0]到a[4]的值,然后遍历数组找最大值就可以了。代码如下
#include <stdio.h> int main() { int a[17],i,j,sum,max=0; int index = 0; for(i=0;i<12;i++) { scanf("%d",&a[i]); } //重复前5个小朋友的苹果数目 for(i=12;i<17;i++) a[i] = a[i-12]; for (i=0;i<12;i++) { sum = 0; for(j=0;j<5;j++) sum += a[i+j]; if(sum > max) { max = sum; index = i; } } printf("%d",index+1); return 0; }
-
#include <stdio.h> int main(void){ int index=1; int sum = 0; int temp = 0; int i,j; int apple[12]; //获取12个输入 for(i=0;i<12;i++){ scanf("%d",&apple[i]); } //循环判断第几个孩子开始的五个人苹果最多 for(i=0;i<8;i++){ temp=0; for(j=i;j<i+5;j++){ temp+=apple[j]; // printf("j=%d,temp=%d\n",j,temp); } if(temp>sum){ sum=temp; index=i+1; } } //打印结果 printf("%d",index); return 0; }
发表回复