C的整数除法,取整之类操作都是扔小数的, 你想四舍五入,只需要简单的在末尾+0.5就行了。 因为小于0.5的,加了还是不进位,所以取整是舍; 而大于等于0.5的小数部分加0.5后,会进位,整数部分加了1,再舍小数部分,也比原来整数多1了,相当于5入 如 double f=12.55;int z=(int)(f...
int main(void){ float a ;scanf(“%f”,&a);a=(int)(a*1000+0.5)/1000.0;printf (“%0.3f”,a);return 0;}
假定一个数字x值是10.456,那么保留两位,第三位四舍五入的方法就是先将x乘以100,变成1045.6,然后加上0.5,得到1046.1,然后去除1046.1的小数部分(也就是强制转为int),得到1046,再用1046除以100.0就得到最终的10.46,写出来也就是 x=(int)(x*100+0.5)/100.0 ...
C语言里对一个数四舍五入 1#include<stdio.h>2intmain()3{4/*float型数据测试*/5printf("13.37499四舍五入后变为%.2f\n",13.37499f);6printf("13.37500四舍五入后变为%.2f\n\n",13.37500f);7/*double型数据测试*/8printf("13.4四舍五入后变为%.0lf\n",13.4);9printf("13.5四舍五入后变为%...
c语言从来不会四舍五入,只会舍 如果想要入,可以考虑#include<math.h>后使用ceil()...
加与变量同符号的0.5,再强制取整就可以了。如下面的举例代码://#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ double x=3.1415926,y=1.507,z=0.499999; printf("%d %d %d\n",int(x+(x>0?.5:-.5)),int(y+(y>0?.5:-...
计算机c语言,我想输出一个小数的小数点后五位,要求四舍五入,该怎么办?#include printf("%.5f",x);}}我用的是Microsoft C++ , 这个软件在运行的时候本身就会在输出小数时四舍五入,因此使用这个软件运行结果有误,这个软件可... 民间正规的借贷平台_360借条,1.929亿注册用户_靠谱! 急用钱找360借条,最快5分钟...
include <stdio.h> define PI 3.1415926 int main(){ float a;int b;scanf("%f",&a);b = (int)(a+0.5);printf("%d\n",b);return 0;} 你的程序是b=(int)(a+0.5);执行了后才输入a的值的。 应该先输入a的值,然后再进行运算 ...
预设是四舍五入的,可通过「%f」格式指定字设定精度。如printf("%.2f", 15.237);,即取值至两个小数位。电脑语言中是不存在真正的分数的,要透过特别的方式才可以保留分子分母。
第9行改为scanf("%lf",&h);第11行改为scanf("%d",&n);