【问题描述】 min-max标准化是对数组中的元素进行变换,使结果落到[0,1]区间。变换的具体过程是: 1)找出数据集中的最大值(max)和最小值(min); 2)利用公式yi=(xi-min)/(max-min)对数据集中的第i元素进行标准化,其中xi为数据集中的每个元素,yi为标准化后第i个的元素。 现有5个从键盘输入的整数,请对其每个元素进行min-max标准化,并按照lf格式控制符输出标准化后的元素。用C语言
时间: 2024-03-23 16:40:30 浏览: 48
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int arr[5];
int i, max, min;
printf("请输入5个整数:\n");
for (i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
max = arr[0];
min = arr[0];
for (i = 1; i < 5; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("min-max标准化后的结果为:\n");
for (i = 0; i < 5; i++) {
double yi = (double)(arr[i] - min) / (max - min);
printf("%.2lf ", yi);
}
printf("\n");
return 0;
}
```
运行示例:
```
请输入5个整数:
1 5 3 7 2
min-max标准化后的结果为:
0.00 0.67 0.33 1.00 0.17
```
阅读全文