题目大意:
如题所述
解题思路:
无
代码如下:
#include<stdio.h>
int main()
{
int sum=0,a[100],ave;
int n,m,b,x,j,i;
while(scanf("%d%d",&n,&m)==2)
{
b=2;x=0;
for(i=0;i<n;i++)
{
a[i]=b;
b=b+2;
}
while((x+m)<n)
{
for(i=x;i<(x+m);i++)
{
sum=sum+a[i];
}
ave=sum/m;
printf("%d ",ave);
x=x+m;
sum=0;
}
if(n%m!=0)
{
for(j=(n-1);j>=m*(n/m);j--)
{
sum=sum+a[j];
}
ave=sum/(n-(n/m)*m);
printf("%d\n",ave);
}
else
{
for(j=(n-1);j>(n-1-m);j--)
{
sum=sum+a[j];
}
ave=sum/m;
printf("%d\n",ave);
}
sum=0;
}
return 0;
}
本文介绍了一个使用C语言实现的程序,该程序通过滑动窗口的方式计算一个由等差数列组成的数组中各子数组的平均值,并打印出来。程序支持用户输入数组长度及窗口大小。
335

被折叠的 条评论
为什么被折叠?



