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];
}
}



