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;
}