C的整数除法,取整之类操作都是扔小数的, 你想四舍五入,只需要简单的在末尾+0.5就行了。 因为小于0.5的,加了还是不进位,所以取整是舍; 而大于等于0.5的小数部分加0.5后,会进位,整数部分加了1,再舍小数部分,也比原来整数多1了,相当于5入 如 double f=12.55;int z=(int)(f...
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语言里对一个数四舍五入 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四舍五入后变为%...
实际结果会输出什么?result的结果是整数3,real是小数0.33……。所以实际上请大家记住,在C语言中的运算,整数与整数的运算结果一定是整数,小数部分会直接丢弃,没有四舍五入。只有浮点数参与运算时且保存结果的变量也是浮点数时,才能保存浮点数的结果,切记切记!好了,今天的课后,希望大家能够完善一下自己的小...
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的值,然后再进行运算 ...
第9行改为scanf("%lf",&h);第11行改为scanf("%d",&n);
单纯用%f无法避免四舍五入。要避免四舍五入,需要自行编写函数,可以参考下面的方法:利用取整时,强制截取整数部分,取出要输出的整数部分和小数部分。如保留三位小数,可以写作如下代码:doublev=123.456789;//要输出的数。inta,b;//整数部分和小数部分。a=(int)v;//取整,得到整数部分。b=(int)(...
单纯用%f无法避免四舍五入。要避免四舍五入,需要自行编写函数。实现方法有很多种,以常用两种举例说明:1、利用取整时,强制截取整数部分,取出要输出的整数部分和小数部分。如保留三位小数,可以写作如下代码:double v=123.456789;//要输出的数。int a,b;//整数部分和小数部分。a=(int)v;//取整...
单纯用%f无法避免四舍五入。要避免四舍五入,需要自行编写函数。 实现方法有很多种,以常用两种举例说明: 1、 利用取整时,强制截取整数部分,取出要输出的整数部分和小数部分。 如保留三位小数,可以写作如下代码: double v=123.456789;//要输出的数。 int a,b;//整数部分和小数部分。 a=(int)v;//取整,得到整...
2、n表示输出的数据保留小数点后n位小数,第n+1位四舍五入,若不足n位则补0; 3、m表示输出数据在终端设备上占有m个字符,并右对齐,如果实际的位数小于m时,左边用空格补足,如果实际位数大于7时,向右扩展输出。 scanf里面只有%*d和%.*d有意义 (1) %*d(仅它有意义:忽略掉它本身,并重新匹配:) ...