以下函数是对实型数保留两位小数,第三位四舍五入,问题出在哪呢?求修改!
float fun ( float h )
{int a,b,t;
a=(int)(h*1000);
t=a%10;
if(t>=5)
a=a/10+1;
else a=a/10;
b=(double)a /100;
return b;
}
这个自定义函数要求返回的返回值类型是float,而你返回的是b,b是int类型,所以出错了:
float fun ( float h )//红色部分是返回值规定的类型
{int a,t;
a=(int)(h*1000);
t=a%10;
if(t>=5)
a=a/10+1;
else a=a/10;
h=a /100.0;//除法符号两边如果都是整形则商为整形,a是整形,所以将100写作100.0得到的商就是浮点型了
return h;
}