生成移动平均发的c++代码
时间: 2023-05-31 16:04:08 浏览: 159
以下是一个简单的移动平均的C代码示例:
```c
#include <stdio.h>
#define WINDOW_SIZE 5
int main()
{
// 构造测试数据
int data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int data_len = sizeof(data) / sizeof(int);
// 初始化移动平均数组
float moving_avg[WINDOW_SIZE] = {0};
int index = 0;
// 计算移动平均
for(int i = 0; i < data_len; i++)
{
float sum = 0;
moving_avg[index] = data[i];
// 计算移动平均
for(int j = 0; j < WINDOW_SIZE; j++)
{
sum += moving_avg[j];
}
float avg = sum / WINDOW_SIZE;
// 输出移动平均结果
printf("Data: %d, Moving Average: %f\n", data[i], avg);
// 更新移动平均数组的索引
index = (index + 1) % WINDOW_SIZE;
}
return 0;
}
```
该代码使用一个包含5个元素的移动窗口来计算移动平均值。对于每个新的数据点,它将该点添加到移动平均数组中,然后计算数组中所有元素的平均值。然后,它输出该数据点的移动平均值,并更新移动平均数组的索引,以便下一个数据点可以添加到数组中。
阅读全文