偶数求和——初级1087
题目描述
有一个长度为 n 的数列,该数列定义为从 2开始的递增有序偶数。 现在要求你按照顺序每m 个数求出一个平均值,如果最后不足 m 个,则以实际数量求平均值。 编程输出该平均值序列。
输入格式
多组数据,请处理到文件结束。
每组测试数据占一行,包含两个正整数 n,m (1≤m≤n≤100)
思路:
1.先开辟足够大的数组sequence【】,创建循环变量i遍历数组
2.以m为单位再次循环,创建变量j记录内部循环的位置,以及经过的元素个数
3.求平均值
#include <stdio.h>
int main()
{
int n, m;
while (scanf("%d%d", &n, &m)==2)
{
int sequence[100];
int i, j;
for (i = 0; i < n; i++)
{
sequence[i] = 2 * (i + 1); // 生成数列
}
for (i = 0; i < n; i += m)
{
int sum = 0;
int count = 0;
for (j = i; j < i + m && j < n; j++)
{
sum += sequence[j];
count++;
}
int average = sum / count;
printf("%d ", average); // 输出平均值序列
}
printf("\n");
}
return 0;
}