m0_66887155
2022-02-09 10:16
采纳率: 50%
浏览 35

关于c语言四舍五入的一道问题

该问题来自于_GX_的博客_CSDN博客-领域博主

/*###### 问题遇到的现象和发生背景
c语言未来教育考试系统上的一道关于四舍五入的题目

img

问题相关代码,请勿粘贴截图 */

#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);
/*****************************/

/*###### 运行结果及报错内容

img

 INTER A: 3.155
 THE ORIGINAL DATA IS : 3. 155000
 The    TESULT : 3. 150000
 请按任意键继续.:

显然没有四舍五入

我的解答思路和尝试过的方法
我想要达到的结果

真正的四舍五入*/



  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题