问题标题: 帮我看看

0
0
已解决
张宇轩
张宇轩
初级守护
初级守护

小明在景区游玩,发现景区里为了烘托节日气氛,设置了很多有趣的游戏。其中有一项游戏小明很感兴趣:在一张桌子上一字排开n张卡片,每张卡片上都有一个编号。游戏要求以最快的速度,找出相邻的k张卡片,使其编号之和最大。你能设计一个程序,帮助小明获胜吗?

ddddddlllllll

张宇轩在2018-10-27 15:37:11追加了内容

输入有2行: 第1行,2个正整数n和k。 第2行,n个正整数,表示各卡片的编号。

1个正整数,表示最大的相邻的k张编号和。

20 4
5 20 1 18 4 16 6 10 15 2 17 3 14 7 13 8 11 19 9 12
51
k <=n < =10000;
卡片上的数字<=100;

2
已采纳
王子凡
王子凡
高级光能
高级光能
输入n和k;
从1至n循环
	读入a[i];
for (int i=1;i<=n-k+1;i++)//遍历每一种情况
{
	int sum=a[i]+a[i+1]+a[i+2]+a[i+3];//将相邻的4个数加起来
	ans=max(ans,sum);//记录最大的编号和
}
输出ans
return 0;

核心代码

定义int a[10010],n,k,ans=0;//在主函数外面定义

还有for(int i=1;i<=n-k+1;i++)

那行,到n也行,因为超过n以后a数组里的值为零,一定不会是最大的,so也没什么影响,当然前提是a数组清零的情况下

and 不知道是不是全对

王子凡在2018-10-27 18:56:40追加了内容

if ("你在考试") cout<<"你完蛋了";

else cout<<"为什么没题号";

王子凡在2018-10-27 19:23:42追加了内容

if语句的结果是“你!!!!!!!完!!!!!!!蛋!!!!!!!了!!!!!!

0
0
0
0
0
0
0
0
杨陈卓
杨陈卓
新手天翼
新手天翼

这题貌似是蜀山区模拟考第二题

我是100分

主体思想:

    for(int i=1;i<=n-k+1;i++)
    {
        s=0;
        for(int j=i;j<k+i;j++)
        {
            s+=a[j];
        }
        maxx=max(maxx,s);
    }

maxx一开始为0

0
0
高梓荣
高梓荣
新手天翼
新手天翼

@张宇轩 你肯定在考试,我知道,ai课堂上的,我都看到你了

我要回答