别光看公式,读题干:“位置i的输出为距离i最近的三个输入的平均值”,再看示例,输入几个,输出几个,所以就是输出每个位置距离最近的三个输入的平均值,中间没什么问题,两端根据题意分别还是前三个的均值和后三个的均值。
#include<bits/stdc++.h>//万能头
int main()
{
int n;
scanf("%d",&n);
int num[n];
for(int i=0;i<n;i++){
scanf("%d",&num[i]);
}
printf("%d ",(num[0]+num[1]+num[2])/3);//y0
for(int i=0;i<n-2;i++){
printf("%d ",(num[i]+num[i+1]+num[i+2])/3);
}
printf("%d ",(num[n-3]+num[n-2]+num[n-1])/3);//yn
return 0;
}
读题很关键,一切按照示例为准!