表达式必须具有整数或未区分范围的枚举类型
·
学习其他语言的时候明白了这个问题!这个问题是由于精度不一致导致无法进行除法运算!(通过测试只有浮点型做取余运算的话就会报错,是由于精度问题导致无法取余)
碰到这样上述标题这样的一个问题:
当我们这样使用的话
float a;
cin>>a;
if(20%a==0) cout<<20/a;//这个地方会报错
else cout<<20/a+1;
当a为浮点数的时候,if条件句这里会出现问问题。
如果我们需要判断20是否为a的倍数:我们可以使用向上取整ceil(20/a),结果为4.1的话就是5,结果4的话就是4。
向下取整我们可以使用floor(20/a)或者int(20/a)
使用ceil和floor需要#include < cmath >
更多推荐
已为社区贡献1条内容
所有评论(0)