您可以使用以下代码来实现这个功能:
#include <stdio.h>
// 计算最大和的四个数的起始位置和最大和
void max_sum(int n, int *arr, int *start, int *sum)
{
// 初始化起始位置和最大和
*start = 0;
*sum = 0;
// 遍历所有可能的起始位置
for (int i = 0; i < n - 3; i++)
{
// 计算当前四个数的和
int temp_sum = arr[i] + arr[i + 1] + arr[i + 2] + arr[i + 3];
// 如果当前和更大,则更新最大和和起始位置
if (temp_sum > *sum)
{
*start = i;
*sum = temp_sum;
}
}
}
int main()
{
// 读入数组的大小
int n;
scanf("%d", &n);
// 读入数组
int arr[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
// 计算最大和
int start, sum;
max_sum(n, arr, &start, &sum);
// 输出起始位置
printf("%d", start + 1);
return 0;
}
该代码中包含了一个名为 max_sum
的函数,它接受数组的大小 n
和数组本身 arr
作为输入,并计算最大和和起始位置。在 main
函数中,我们读入数组的大小和数组元素,然后调用 max_sum
函数计算最大和和起始位置。最后,我们输出起始位置。