试用c语言编程,输入一组整型数据,并将这些数据进行min-max 标准化后输出(注意类 型转换)。(10分)
时间: 2024-09-29 07:05:53 浏览: 38
在C语言中,标准差和最小值最大值标准化(Min-Max Scaling),也称为Z-score标准化,通常用于将数值映射到新的范围。这里是一个简单的例子,如何编写程序来接收一组整数,计算它们的最小值、最大值,然后对每个值进行标准化处理:
```c
#include <stdio.h>
#include <limits.h>
// 定义函数来进行标准化
double normalize(int value, int min, int max) {
return (value - min) * (1.0 / (max - min));
}
int main() {
int n, num[100]; // 假设最多输入100个整数
printf("请输入整数的数量(不超过100个): ");
scanf("%d", &n);
if (n > 100) {
printf("错误:输入超过限制\n");
return 0;
}
printf("请输入整数: ");
for (int i = 0; i < n; i++) {
scanf("%d", &num[i]);
}
// 找出数组中的最小值和最大值
int min = INT_MAX, max = INT_MIN;
for (int i = 0; i < n; i++) {
min = (num[i] < min) ? num[i] : min;
max = (num[i] > max) ? num[i] : max;
}
// 对每个数进行标准化并打印结果
for (int i = 0; i < n; i++) {
double normalized = normalize(num[i], min, max);
printf("原始值 %d, 标准化后 %.2f\n", num[i], normalized);
}
return 0;
}
```
阅读全文