C语言中显示小数部分

#include<stdio.h>intmain(){floata,b,c;a=7.0;b=4.0;c=a/b;printf("cis%d\n",c);}弱弱的问下。。c... #include<stdio.h>
int main()
{
float a,b,c;
a=7.0;
b=4.0;
c=a/b;
printf("c is %d\n",c);

}

弱弱的问下。。c为什么不显示1.75 而是显示的是0?
展开
 我来答
小白聊电子科技
高粉答主

2020-05-15 · 专注电子数码问题解答
小白聊电子科技
采纳数:774 获赞数:75190

向TA提问 私信TA
展开全部

1、首先在电脑中打开vc6.0,新建一个项目,添加stdio.h头文件。

2、然后添加math.h头文件,添加main函数

3、接着定义double类型变量 number。

4、接着定义down、up变量,使用floor向下取整。

5、然后使用ceil向上取整,最后使用printf打印结果。

6、最后运行程序,看看结果,如下图所示,就完成了。

ducky8688
推荐于2017-11-25 · TA获得超过753个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:86.2万
展开全部
printf("c is %d\n", c); // %d表示以整数输出,如果对应的变量是浮点数,会自动把小数部分截掉
如要输出小数应该改为
printf("c is %f\n", c); //单精度的
或者
printf("c is %lf\n", c ); //双精度的
追问
再弱弱地问下。。啥叫单精度?双精度?
追答
单精度和双精度数值类型最早出现在C语言中(比较通用的语言里面),在C语言中单精度类型称为浮点类型(Float),顾名思义是通过浮动小数点来实现数据的存储。这两个数据类型最早是为了科学计算而产生的,他能够给科学计算提供足够高的精度来存储对于精度要求比较高的数值。
这个要解释起来很长,下面的链接是百度百科里你解释你可以了解一下
http://baike.baidu.com/view/1007029.htm

你上面问的其他人的int double float这三个类型分别是整数, 这种类型的变量存的都是整数,也就是不带小数点的数, double 就是双精度的浮点数, float就是单精度的浮点数,精度不一样,能表示的数值的范围就不一样,双精度能表示的数比单精度的大很多
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiziufo
2012-07-24 · TA获得超过132个赞
知道小有建树答主
回答量:103
采纳率:100%
帮助的人:76.1万
展开全部
首先一点
把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的整数部分
希望对楼主有帮助
追问
哦 神奇。。那个 。问下。。ctrl+f5后如何不显示【Press any key to continue】。。。?
追答
你说反了吧!!ctrl+f5才会出现这个。
一个是只调试模式,一个是运行模式。调试模式只是检测代码是否可以运行,遇到错误的地方就会停下来,如果没有错误就直接执行完毕后关闭窗口。所以一般为了看到调试的最终结果都会在代码末尾加上句 getchar();你可以试试,加上后只按F5也可以出现结果的
ctrl+f5 这个就是运行模式了,它会把该程序的结果反映在现实窗口上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3177cc4
2020-03-12
知道答主
回答量:1
采纳率:0%
帮助的人:578
展开全部
#include <stdio.h>
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;就是这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那不是冬瓜
2012-07-24 · TA获得超过518个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:132万
展开全部
你把
printf("c is %d\n",c);

改为
printf("c is %f\n",c);
追问
huo。。。厉害。这么简单。。初学。。只是照葫芦画瓢。。是规定的%f即可显示小数部分??还有那个int double float 都是啥啊。。分别讲下都有啥特定功能?

还有 书上有这么一句话【用单目逻辑非运算符“!”把一个变量的数值转化为响应的逻辑真值或者假值】。。这话啥意思啊?能否举例说明?

还有【变量的储存类别】这部分有什么用么?什么auto static变量。。有什么用?能否说的简单些。。有例子最好?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式