C语言滤波算法,输入10个数据,输出滤波结果
时间: 2024-03-03 12:50:10 浏览: 215
C语言中常见的滤波算法有很多种,比如低通滤波、高通滤波、中值滤波等等。这里我给您演示一个简单的移动平均滤波算法,具体实现代码如下:
```
#include <stdio.h>
#define N 10 // 数据个数
#define M 5 // 滤波窗口大小
int main() {
int data[N]; // 存放原始数据
int filtered[N]; // 存放滤波结果
// 输入原始数据
printf("请输入%d个数据:\n", N);
for (int i = 0; i < N; i++) {
scanf("%d", &data[i]);
}
// 移动平均滤波
for (int i = 0; i < N; i++) {
filtered[i] = 0;
for (int j = i - M/2; j <= i + M/2; j++) {
if (j >= 0 && j < N) {
filtered[i] += data[j];
}
}
filtered[i] /= M;
}
// 输出滤波结果
printf("滤波结果为:\n");
for (int i = 0; i < N; i++) {
printf("%d ", filtered[i]);
}
printf("\n");
return 0;
}
```
这段代码实现了一个简单的移动平均滤波算法,输入10个数据后输出滤波结果。其中,`N`表示数据个数,`M`表示滤波窗口大小,可以根据实际需求进行修改。
阅读全文