C语言怎样求两个double型数据相除求余数?
4个回答
展开全部
1.首先请打开Visualc++6.0,(本文使用Visualc++6.0软件操作,也可以使用VisualStudio或其他C/c++编程软件),如图所示后成功打开。
2.点击左上角的“文件”菜单按钮,点击“新建”按钮。在弹出窗口中,首先选择“File”选项卡,然后在左侧列表中选择“c++源文件”项,如下所示。
3.在正确文件名的文本框中输入文件名,如“demo”等。
4.根据图片输入演示代码,如下图所示。
5.运行代码:按箭头指示的顺序点击箭头所指的按钮。当最后一个按钮成功按下后,会弹出如图所示的黑色窗口。程序运行的结果将显示在表单中,并将获得正确的值。
6.代码说明:图中的绿色字体说明了代码行的含义。核心代码为d=5%3;“%”是余数运算符。
7.完成效果图,如下图所示。
展开全部
在C语言中,只有整数才能求取余数,如果需要求取浮点数的余数,只能用变通的方法进行。
double num1 = 12.56,num2 = 4.0;
double remainder;
remainder = num1 - (int)(num1/num2);
double num1 = 12.56,num2 = 4.0;
double remainder;
remainder = num1 - (int)(num1/num2);
更多追问追答
追问
但(int)(num1/num2)是按照四舍五入的规则的吗?这样不是会产生误差?
有没有听说过math.h 里面的fmod()函数,在网上看到的,不知道是不是真的有!
追答
是的,有可能,下面的改进版。
double num1 = 12.56,num2 = 4.0;
double remainder = (num1 - num1/num2)*num2;
fmod()函数在不同的编译环境下实现的方法,甚至是否实现都是可能的,为了有更好的兼容性,还是根据C语言的基本功能实现更合适。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-21
展开全部
1.double a,b;
scanf("%lf%lf",&a,&b);
a=a-(int)(a/b)*b;
printf("%lf",a);
2.fmod函数也行
scanf("%lf%lf",&a,&b);
a=a-(int)(a/b)*b;
printf("%lf",a);
2.fmod函数也行
更多追问追答
追问
第一种方法有误差,因为a/b是按四舍五入取整的!是吗?
追答
其实第一种方法是fmod的翻版
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%号不就是求余的么?
追问
%z只能用于整型数据
追答
这样啊,那试试fmod函数,可以求两个浮点型余数,要包含math.h。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询