c语言浮点数找最大值最小值
时间: 2023-12-21 07:29:36 浏览: 137
以下是C语言中浮点数找最大值和最小值的例子:
```c
#include <stdio.h>
int sp1(double arr[], int sz, int* pm) {
int i = 0;
for (i = 0; i < sz; i++) {
if (arr[i] > *pm) { //找出最大值
*pm = arr[i];
}
}
for (int k = 0; k < sz; k++) {
if (arr[k] == *pm) { //确认最大值的数值
return k; //返回该最大值的下标
}
}
}
int sp2(double arr[], int sz, int* pm) {
int i = 0;
for (i = 0; i < sz; i++) {
if (arr[i] < *pm) { //找出最小值
*pm = arr[i];
}
}
for (int k = 0; k < sz; k++) {
if (arr[k] == *pm) { //确认最小值的数值
return k; //返回该最小值的下标
}
}
}
int main() {
double arr[10] = { 0 };
int a, b = 0;
double ave, sum = 0, max = -1e9, min = 1e9; //初始化最大值和最小值
for (int i = 0; i < 10; i++) {
scanf("%lf", &arr[i]);
}
int sz = sizeof(arr) / sizeof(arr[0]);
a = sp1(arr, sz, &max);
b = sp2(arr, sz, &min);
for (int k = 0; k < 10; k++) {
if (k != a && k != b) {
sum = sum + arr[k];
}
}
ave = sum / 8;
printf("最大值为:%lf\n", max);
printf("最小值为:%lf\n", min);
printf("去掉最大值和最小值后的平均值为:%lf\n", ave);
return 0;
}
```
阅读全文