问题描述
有一个长度为 n(n<=100)的数列,该数列定义为从 2 开始的递增有序偶数,现在要求你按照 顺序每m 个数求出一个平均值,如果最后不足m 个,则以实际数量求平均值。编程输出该 平均值序列
输入
输入数据有多组,每组占一行,包含两个正整数n 和 m,n 和 m 的含义如上所述。
输出量
对于每组输入数据,输出一个平均值序列,每组输出占一行。
样本输入
3 2
4 2
样本输出
3 6
3 7
代码
#include <iostream>
using namespace std;
int main(){
int n,m;
double sum,ave;
while(cin>>n>>m){
sum=0;
int k=0;
for (int i = 1; i <= n; ++i) {
sum+=i*2;
k++;
if(k%m==0){ // 每m个数求平均值
ave=sum/m;
sum=0;
cout<<ave<<" ";
}
}
if(k%m!=0){ //不足m个,以实际数量求平均值
ave=sum/(k%m);
cout<<ave;
}
cout<<endl;
}
}