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