用c语言解决以下问题:小新想先算出自己连续3天刷题数总和的最高记录,现已给出小新同学n天来的做题量,请你帮帮他吧。 输入 测试数据有多组,每组有两行,第一行输入一个整数n(n<=1000),n表示活动持续的天数,n为0表示结束,第二行为n个整数,为小新活动期间每天刷题的数量。 输出 对于每组测试数据在一行中输出一个整数,表示连接3天刷题量累加和的最高记录
时间: 2023-02-06 13:11:31 浏览: 105
首先,我们需要从输入中读取 n 的值,如果 n=0,则结束程序。否则,我们读取后面的 n 个数字,存储在一个数组里。然后,我们遍历数组,对于每个数字,我们计算它前两天的刷题量之和,然后与当前最大值比较,如果更大,就更新最大值。最后输出最大值即可。
以下是用 C 语言实现的代码示例:
```
#include <stdio.h>
int main()
{
int n;
while (scanf("%d", &n) == 1 && n != 0) // 当 n 不为 0 时循环
{
int a[1000]; // 定义一个数组来存储输入的数字
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
int max = 0; // 定义最大值
for (int i = 0; i < n; i++)
{
if (i >= 2) // 如果当前下标大于等于2,说明已经有了前两天的数据
{
int sum = a[i] + a[i-1] + a[i-2]; // 计算前三天的刷题量之和
if (sum > max) // 如果当前和大于最大值,则更新最大值
{
max = sum;
}
}
}
printf("%d\n", max); // 输出最大值
}
return 0;
}
```
希望这能帮到你。
阅读全文