源代码:
int main(void) {
double values[10];
int size = 5;
double max_val = values[0];
double min_val = values[0];
printf("Enter 10 double values for the array\n");
for (int i = 0; i < size; i++) {
scanf("%lf", &values[i]);
}
for (int x = 0; x < size; x++) {
if (values[x] > max_val) {
max_val = values[x];
}
if (values[x] < min_val) {
min_val = values[x];
}
}
printf("Maximum value: %.2lf\n", max_val);
printf("Miniimum value: %.2lf\n", min_val);
return 0;
}
为数组输入10个双精度值
10.4
56.7
21.1
0.3
4.8
Maximum value: 56.70
Minimum value: -92559631349317830736831783200707727132248687965119994463780864.00
答案 0 :(得分:2)
double max_val = values[0];
double min_val = values[0];
您已将垃圾值分配给max_val和min_val,因为此时未为值[0]分配任何值
在for循环中输入
后,您应该移动此分配