Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/32768 K (Java/Others)
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
Hint
lcy
Source
C语言程序设计练习(三)
Related problem
2018 2012 2020 2019 2017
主要还是作用域的问题吧,sum要及时清零。被作用域整了一段时间了。。
代码如下:
#include <iostream>
using namespace std;
int main()
{
int m,n;
while(cin >>n >>m)
{
int sum=0,j=0;
for(int i=2;i<=n*2;i+=2)
{
sum+=i;
j++;
if(j%m==0)
{
sum/=m;
if(j<n)
cout<<sum<<" ";
else
cout<<sum<<endl;
sum=0;
}
else if(j==n)
cout<<sum/(j%m)<<endl;
}
}
}