围坐成一圈的12个小朋友,每个人身上都有若干个苹果,大人要选出哪5个挨着坐的小朋友手中的苹果总数最多,你能帮助大人们编写一个程序来确定吗?请使用循环和数组实现。

源码工厂 课程设计 1

试题描述

围坐成一圈的12个小朋友,每个人身上都有若干个苹果,大人要选出哪5个挨着坐的小朋友手中的苹果总数最多,你能帮助大人们编写一个程序来确定吗?请使用循环和数组实现。

输入

输入12个整数,表示12个小朋友分别的苹果数。邻近两数之间用一个空格隔开。

输出

输出从第几个小朋友开始苹果总数最多。

输入示例

12 32 24 53 52 30 37 82 87 67 98 78

输出示例

8

数据范围

输入和输出均为int范围的整数

回复

共2条回复 我来回复
  • 毕设导航
    这个人很懒,什么都没有留下~
    评论

    申请一个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;
    }
    

    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;
    
    }
    
    0条评论

发表回复

登录后才能评论