2015-偶数求和

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

输入:输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

输出:对于每组输入数据,输出一个平均值序列,每组输出占一行。

例:input:3 2

  output:3 6

#include<iostream>
using namespace std;

int cal(int k, int m, int *p)
{
	int sum = 0;
	for (int i = 0; i < m; i++)
		sum += p[k *m + i];
	return sum / m;
}
int main()
{
	int n, m;
	int s[100];
	s[0] = 2;
	for (int i = 1; i < 100; i++)
		s[i] =s[i-1]+2;
	while ((cin>>n>>m)&&(n!=EOF))
	{
		cout << cal(0, m, s);
		for (int j = 1; j < n/m; j++)
			cout << " "<<cal(j, m, s) ;
		if (n%m)
		{
			int sum = 0;
			for (int i = n/m*m; i < n; i++)
				sum += s[i];
			cout<<" "<< sum / (n%m);
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

 注意输出格式,最后一个数据后面不能有空格。

原文地址:https://www.cnblogs.com/wuyoucao/p/4672059.html