题目 1159: [偶数求和]

题目 1159: [偶数求和]

题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行

   思路:等差数列偶数求和,设定一个数组进行赋值储存。输入一个数来
   分割数列求每块的平均值。
   注意:每次加和运算后记得清零,该题不是回车控制结果。
   应该是可以输入多组数据测试。
#include<stdio.h>
int main() 
{
	int i,j,k;
	int a,b,c;
	int ci;
	int y;
	int sum=0;
	int f[10000];
	b=2;
	while(	scanf("%d",&a)!=-1)
	{
	for(i=0;i<a;i++)   //循环输入数据 
	{
		b=2*(i+1);
		f[i]=b;
	}

	scanf("%d",&c);
	if(a%c==0)   //正好分组的时候 
	{
		ci=a/c;
	for(i=0;i<ci;i++)
	{
		for(k=i*c;k<i*c+c;k++)    
		{
			sum+=f[k];
		}
		printf("%d ",sum/c);
		sum=0;
	} 
    }
	else    //有剩余的时候 
	{
	ci=a/c;
	for(i=0;i<ci;i++)  
	{
		for(k=i*c;k<i*c+c;k++)   
		{
		//	printf("%d ",f[k]);
			sum+=f[k];
		}
		printf("%d ",sum/c);
		sum=0;
    }
    ci=a/c;
		for(k=(ci-1)*c+c;k<a;k++)
		{
			sum+=f[k]; 
		} 
		int z=a-((ci-1)*c+c);
	printf("%d ",sum/z);
	sum=0;
	printf("\n");
	}
    }
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值