float类型的变量录值不准确?我的精度输入的也不大啊,求一针见血
程序代码:
#include<stdio.h> float foundMid(float a[]); int main() { float a[3],num; int i; printf("————三个数求中间值————\n"); printf("输入三个数:"); for(i=0;i<3;i++) scanf("%f",&a[i]); for(i=0;i<3;i++) printf("a[%d]=%f\t",i,a[i]); num=foundMid(a); printf("\n三个数中的中间值是:%f",num); return 0; } float foundMid(float a[]) { if((a[0]-a[1])>0&&(a[0]-a[2])>0) //a[0]最大 { if((a[1]-a[2])>0) return a[1]; else return a[2]; } if((a[1]-a[0])>0&&(a[1]-a[2])>0) //a[1]最大 { if((a[2]-a[0])>0) return a[2]; else return a[0]; } if((a[2]-a[0])>0&&(a[2]-a[1])>0) //a[2]最大 { if((a[1]-a[0])>0) return a[1]; else return a[0]; } }