题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每 m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行。
样例输入
3 2
4 2
样例输出
3 6
3 7
参考代码
#include<stdio.h>
int main()
{
int a[101],b[101],m,n,d,i,j,k,sum;
while(scanf("%d %d",&m,&n)!=EOF)
{
for (i=0;i<m;i++)
a[i]=2*(i+1);
for (i=0,d=0,k=0;i<m;)
{
sum=0;
while(d<n)
{
d++;
sum+=a[i++];
if(i==m)
break;
}
if(d==n)
b[k++]=sum/n; else
b[k++]=sum/d;
d=i%n;
}
for (j=0;j<k-1;j++)
printf("%d ",b[j]);
printf("%dn",b[k-1]);
}
return 0;
}
解析
暂无