原谅我基础没学好
今天在做题的时候要用到求余数,因为之前一直都是整数求余数,可以用%来运算。这次我觉得也可以直接算,我一试,发现我太天真了
!!!
代码如下------------------------------------
#include<stdio.h>
int main()
{
double a;
a=11.1%1.0;
printf("a=%f",a);
return 0;
}
结果就是报错了
标题[Error] invalid operands of types ‘double’ and ‘double’ to binary ‘operator%’
翻译如下:类型“double”和“double”到二进制“操作符%”的无效操作数
我就非常纳闷呐
然后就查
重点来了
%号取余数一般用于整型之间即–>整型%整型=整型
所以对于浮点型数的求余数目前不能直接用一个符号来实现
如果懒得算的话,也不是没有快速算法
可以通过调用函数来直接实现
fmodf用于float型变量操作
fmod用于double型变量操作
modl用于long double型变量操作
以下以fmod举例
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
double f=3.3,q=2.2;
printf("%f\n",fmod(f,q));
return 0;
}
不过一般做题的时候不建议调用函数,还是自己老老实实算算吧 >-<