作者:舞
计算浮点数相除的余数
先看题目
这道题的求余要用到题目中的公式a=k×b+r
用循环的方式找的k的值
相当于一个二元一次方程
这里有两种方法
方法一
是我用的方法,相对于方法二更复杂
这里用到了goto语句
#include<iostream>
using namespace std;
int main()
{
double a,b,k,r;
cin>>a>>b;
k=0;
do{
r=a-(k*b);
if(r<b){
printf("%.6f",r);
goto p;
}
k++;
}while(k);
p:return 0;
}
方法二
用了更少的代码,更加清楚的表达了出来
#include<iostream>
using namespace std;
int main()
{
double a,b,k,r;
cin>>a>>b;
k=1;
while(b*k<a){
k++;
}
r=a-(k-1)*b;
printf("%.6f",r);
return 0;
}