C语言如何获取Float数组的最大值与最小值 现有代码求修复
代码问题排查与修复
问题列表
- 数组类型不匹配:需求是存储Float类型数值,但代码中定义
arr为int类型数组,存储浮点数会丢失小数部分,导致计算结果错误 - 输入格式符错误:
scanf中使用%d读取整型,读取float类型数据需要使用%f格式符 - 长度变量类型不合理:数组长度
size是固定整数5,定义为float类型没有必要,循环判断时会产生不必要的隐式类型转换,建议改为int类型 - 代码排版问题:原代码中第一个printf语句的换行符
\n排版异常,会导致编译报错
修复后完整代码
#include "stdio.h" #define MAX_SIZE 100 int main() { float arr[MAX_SIZE], max, min; int i, size = 5; for(i=0; i<size; i++) { scanf("%f", &arr[i]); } max = arr[0]; min = arr[0]; for(i=1; i<size; i++) { if(arr[i] > max) { max = arr[i]; } if(arr[i] < min) { min = arr[i]; } } printf("Maximum element = %0.2f\n", max); printf("Minimum element = %0.2f", min); return 0; }
内容的提问来源于stack exchange,提问作者Vladyslav
相关产品推荐
相关产品推荐

