试编程,输 入 一组整型数据,并使这些数据进行min-max标准化 后输 出(注意类型转换)。用C语言
时间: 2024-09-29 17:14:24 浏览: 42
在C语言中,min-max标准化是一种将数值转换到0到1范围内的技术,也称为归一化。以下是简单的代码示例,它会接受一组整数,计算最小值和最大值,然后对每个数进行标准化处理:
```c
#include <stdio.h>
#include <limits.h>
// 函数声明
double min_max_standardize(int num, int min_val, int max_val);
int main() {
int input[] = {5, -3, 9, 1, 7}; // 输入数组
const int n = sizeof(input) / sizeof(input[0]);
int min_val = INT_MAX;
int max_val = INT_MIN;
// 计算最小值和最大值
for (int i = 0; i < n; i++) {
if (input[i] < min_val) {
min_val = input[i];
}
if (input[i] > max_val) {
max_val = input[i];
}
}
// 对输入数组进行标准化并打印结果
for (int i = 0; i < n; i++) {
double standardized_num = min_max_standardize(input[i], min_val, max_val);
printf("%.2f\n", standardized_num);
}
return 0;
}
// 实现min-max标准化函数
double min_max_standardize(int num, int min_val, int max_val) {
return ((double)(num - min_val)) / (max_val - min_val); // 类型转换确保结果为浮点数
}
```
在这个程序中,`min_max_standardize`函数接收一个整数、最小值和最大值,计算出该数相对于范围的比例,然后返回这个比例作为浮点数。在`main`函数里,我们首先找到输入数组中的最小值和最大值,然后遍历数组并对每个元素进行标准化。
阅读全文