杭电OJ 11页 2015//求输出该平均值序列。

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

#include<stdio.h>
void main()
{
	int n,m,i,d,s,a;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		s=0;//偶数总和 
		a=0;//偶数 
		for(i=1;i<=n;i++)
		{
			a=i*2;
			s=s+a;
			if(i%m==0)//判读i是否到达m个,满足m个以后进行后面操作 
			{
				if(i==n)
				{
					printf("%d\n",s/m);
					break;
				}//如果i以及是最后一个数,那么就直接输出偶数总和除以m,并跳出来,注意换行符 
				printf("%d ",s/m);//否则就输出s/m,但不需要换行符 
				s=0;//将s清空,准备下一组m个偶数的求和 
			}
			else if(i==n)//如果m比n要大,这时候i就等于了n 
			{
				d=n%m;//求出余数 比如n=4,m=5;n%m=4,就相当于是m 
				printf("%d\n",s/d);
			}

			}
		}
	}
	
		
发布了63 篇原创文章 · 获赞 12 · 访问量 4087

猜你喜欢

转载自blog.csdn.net/qq_45353823/article/details/100058283