1、首先在电脑中打开vc6.0,新建一个项目,添加stdio.h头文件。
2、然后添加math.h头文件,添加main函数。
3、接着定义double类型变量 number。
4、接着定义down、up变量,使用floor向下取整。
5、然后使用ceil向上取整,最后使用printf打印结果。
6、最后运行程序,看看结果,如下图所示,就完成了。
printf("c is %d\n", c); // %d表示以整数输出,如果对应的变量是浮点数,会自动把小数部分截掉
如要输出小数应该改为
printf("c is %f\n", c); //单精度的
或者
printf("c is %lf\n", c ); //双精度的
首先一点
把printf("c is %d\n",c);改成
printf("c is %f\n",c);就可以达到输出1.75
下面开始说为什么输出的是0的问题。
因为整型和浮点型在内存中存储的字节位不同,如果把浮点型数值按整型格式化输出的话,会有“缺位”的效果。就如上例,实际按%d格式输出的是0.
按照楼主的题目是想得到一个浮点型的小数部分了,可以这样修改
c=a/b
c=c-(int)c;//小数部分,(int)c意思是去C的整数部分
希望对楼主有帮助
#include
int main()
{
float x,y,h;
char z;
scanf("%f",&x);
if(x>0) z='+',y=x;
else z='-',y=-x;
printf("sign:%c\n",z);
printf("integral part:%d\n",(int)y);
h=y-(int)y;
printf("decimal fraction part:%.3f\n",h);
return 0;
}
h=y-(int)y;就是这个
你把
printf("c is %d\n",c);
改为
printf("c is %f\n",c);