a=((int)(a*1000+0.5))/1000 这句 你已经把a 强制转化成int型 了 当然就是整数形式了 w267us88 正解
b=(int)(a*100+0.5); 不管你输入的是何小数最终都被强制转换为整形了。以最小的1为例,(int)(1*100+0.5)=100.
Bit:来自英语bit,译音为“bit”,意思是二进制bit。是电脑中数据储存的最小单位,11010100是一个8位二进制数。 Byte:来自英语byte,译音为“Beit”,传统式上放英文大写的“B”来表明。字节数是电脑中数据处理方法的基本要素。电子计算机以字节数储存和表述信息内容,它要求一个字节由八个二进制位构成,即一个字节相当...
应该这么改:c=b/100.0//这样100.0为浮点型,b为整型,运算时b将被强制转换为浮点型,然后再运算,结果也为浮点型,所以小数部分得以保留。
如何保留两位小数 也..#include<stdio.h>int main(){double x,y;int c,d;scanf("%lf",&x);c=(int)(x);y=x-c;d=(int)(y*