题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(公差为2的等差数列),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出
对于每组输入数据,输出一个平均值序列,每组输出占一行
样例输入
3 2
4 2
样例输出
3 6
3 7
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i = 0;
int j = 0;
int n = 0;
int iSum = 0;
int m = 0;
int s = 0;
scanf("%d", &n);
scanf("%d", &m);
for (i = 0; i < n; i++)
{
s = s + 2; //第n个数的值
iSum += s; //用来存取m次的和
j++;
if (m == j)
{
printf("%d\t", iSum/m );
iSum = j = 0;
}
}
if (j != 0)
{
printf("%d\n", iSum/(n%m));
}
return 0;
}
将j重新赋值为0的位置一直放反了,导致打印不对。