c语言浮点型求余函数 c语言计算浮点数相除的余数

C语言浮点型数据能不能取余?可以,但不能用操作符%,而要用库函数fmodf、fmod或fmodl 。因为%是整型取余操作符,要求两边都是整型数才行 , 结果也是整型;fmodf用于float型变量操作 , fmod用于double型变量操作,fmodl用于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;
}运行结果是1.100000 。
C语言中怎样用浮点型求余?求余运算符%要求两侧都是整型,不允许浮点型;非要求,可采用强制类型转换,如:
#include stdio.h
void main()
{
float a=5.2,b=2.5;
int rem;
rem=(int)a%(int)b;
printf("%d\n",rem);
}
其实还是相当于求【5%2=1】 。
不知你想达到什么目的?
c语言中,怎样使用取余数的函数C语言提供了一个取余数的运算符% , 称之为“模”运算符,只有两个整数之间才可以进行模运算 。
a % b 表示 用b来整除a,商整数,得到余数 。
如:
5%3 = 2
4%3 =1
3%3 =0
扩展资料:
数学函数
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
double pow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度
double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数
char *ecvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串
char *fcvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串
参考资料来源:百度百科-C语言函数
C语言怎么对浮点型的数求余?这样:
float a=3.14,b=3;
int c;
a*=100;
b*=100;
c=(int)a%(int)b;
a=(float)c/100;
%只能用于整形,不能用于浮点,如果浮点定义 , 必然报错,结果应该是0,不可能是0.14,int=3.14系统默认为3 3%3=0,想得到0.14可以借助系统函数 。
扩展资料:
注意事项
% 只用于整型的计算,后一个数不能是0,参与运算的数据可正可负 。
对于x%y ,计算之后结果的正负与 x 的符号相同,如果前者是较小的数,后者是较大的数,那么,结果直接为较小的数 。例如:
10%3=1
3%10=3
10%-3=1
-3%10=-3
-10%-3=-1
-3%-10=-3
3%13=3
0%3=0
0%-3=0
3%0(×)Error!
-3%0(×)Error!
10.0%3.0 (×)Error!// 浮点型不能进行模运算
C语言 计算浮点数相除的余数得到的代码如下:
#include stdio.h
int main()
{
double a, b;
scanf ("%lf%lf", a, b);
int k = (int)(a/b);
double r = a-k*b;
printf ("%g\n", r);
return 0;
}
C语言怎么求余数1、首先,我们需要打开任意编程软件,小编使用的是Dev c++
2、然后,我们需要新建一个源代码, 如下图所示
3、然后我们需要输入代码
#include stdio.h
int main()
{
int i=0;
scanf("%d",i);
int j;
j=i%2;
printf("%d",j);
return 0;
}
表示取输入的数除以二的 余数。
4、最后,我们编译测试,我们输入9,得到的结果为1,正确 。
拓展资料:
C语言里对于有一些符号是不能直接输出的,因为被C语言占用了 。所以有一些符号是需要特殊的方式才能输出的 。比如你说的%号,%号在C语言里是求余数的符号,如果需要输出%的话,你需要连续写2个%才能输出 。如:printf("x%%y=%f\n",e);

推荐阅读