编写C语言程序实现1200000个元素的归一化处理
时间: 2023-11-24 17:58:47 浏览: 129
简单的行编辑程序 C语言实现 数据结构
4星 · 用户满意度95%
归一化处理是将数据按照一定比例缩放,使得处理后的数据值都在[0, 1]的范围内。下面是一个C语言程序实现1200000个元素的归一化处理:
```c
#include <stdio.h>
void normalization(float data[], int n)
{
float max = data[0], min = data[0];
int i;
// 求出最大值和最小值
for (i = 1; i < n; i++) {
if (data[i] > max) max = data[i];
if (data[i] < min) min = data[i];
}
// 归一化处理
for (i = 0; i < n; i++) {
data[i] = (data[i] - min) / (max - min);
}
}
int main()
{
float data[1200000];
int i;
// 生成测试数据
for (i = 0; i < 1200000; i++) {
data[i] = (float)rand() / RAND_MAX * 100; // 随机生成0~100之间的浮点数
}
normalization(data, 1200000);
// 输出归一化后的数据
for (i = 0; i < 1200000; i++) {
printf("%f ", data[i]);
}
return 0;
}
```
该程序先随机生成1200000个0~100之间的浮点数作为测试数据,然后通过 `normalization` 函数对这些数据进行归一化处理。在 `normalization` 函数中,先求出最大值和最小值,然后对每个元素进行归一化处理。最后在 `main` 函数中输出归一化后的数据。
阅读全文