Problem Description
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。
Sample Input
3 2 4 2
Sample Output
3 6 3 7
Author
lcy
嗯,题目要注意的地方还是有一些。所以写出来。以后做代码题的时候要多多注意边界条件。
#include<iostream>
using namespace std;
int main(){
int n,m;
int i,cnt;
int num,sum;
int flag=0;
while(scanf("%d %d",&n,&m)!=EOF){
cnt = 0;
num = 2;
sum = 0;
flag = 0;
for(i=0;i<n;i++){
cnt++;
sum = sum+num;
if(cnt % m == 0&&flag==1){
cout<<" "<< sum / m;
sum = 0;
}
if(cnt % m == 0&&flag==0){
cout<< sum / m;
sum = 0;
flag=1;
}
num = num + 2;
}
if(cnt%m&&flag==1){
cout<<" "<<sum/(cnt%m);
}
else if(cnt%m&&flag==0){
cout<<sum/(cnt%m);
}
cout<<endl;
}
return 0;
}