/*###### 问题遇到的现象和发生背景
c语言未来教育考试系统上的一道关于四舍五入的题目
问题相关代码,请勿粘贴截图 */
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
float fun (float h )
{
long t;
t=(h1000+5)/10; /单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入
除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去/
return (float)t/100; /除以100,保留2位小数/
}
void main()
{
FILE wf;
float a;
system("CLS");
printf("Enter a: ");
scanf ("%f",&a);
printf("The original data is : ");
printf("%f\n\n", a);
printf("The result : %f\n", fun(a));
/****************************/
wf=fopen("out.dat","w");
fprintf(wf,"%f",fun(8.32533));
fclose(wf);
/*****************************/
/*###### 运行结果及报错内容
INTER A: 3.155
THE ORIGINAL DATA IS : 3. 155000
The TESULT : 3. 150000
请按任意键继续.:
显然没有四舍五入
我的解答思路和尝试过的方法
我想要达到的结果
真正的四舍五入*/