Emily-CS 发表于 2016-5-17 23:55:07

C语言如何实现除法保留一位小数?

比如:我要把5除以4的结果保留一位小数后(1.3)赋给一个变量a,然后将a 与我scanf输入的值比较,看看是否相等。
请问应该如何实现这样的过程呢?(求思路)

注意:1、不是在printf的时候保留一位小数,而是赋给变量时,就已经是保留一位小数的结果了;
2、想问一下,假如定义float a, 把1.3赋给a, 然后将a 与我scanf输入的值比较,我输入的值应该是怎么样,才能检验输入相等呢?

雾霾天 发表于 2016-5-17 23:58:33

应该是没办法比较的,float型的存储格式决定了没有办法用==进行比较,可以使用-0.1<a-b<0.1来验证

Emily-CS 发表于 2016-5-18 00:01:33

雾霾天 发表于 2016-5-17 23:58
应该是没办法比较的,float型的存储格式决定了没有办法用==进行比较,可以使用-0.1

那么请问,如何实现除法保留一位小数然后直接赋给一个变量? 这个做得到吗

雾霾天 发表于 2016-5-18 00:09:56

其实你可以用c=a*10/b结果c = c/10曲线救国嘛

littlestar 发表于 2016-8-4 16:05:10

如果要比较是否是1.3相等 可以使用减法去做。例如 a=5/4;b是输入。然后判断if (fabs(a-b) < 0.1)

Damn_it 发表于 2016-11-21 21:40:25

曲线救国 是什么意思{:10_277:}

四十二 发表于 2016-11-21 23:26:35

不知道你的目的是什么,如果不在乎效率的话就转成字符处理
在乎效率的话,似乎也可以转成字符处理……
页: [1]
查看完整版本: C语言如何实现除法保留一位小数?