信息学奥赛一本通T-1029

【题目描述】
计算两个双精度浮点数a和b的相除的余数,a和b都是双精度浮点数。这里余数(r)的定义是:a=k*b+r,其中k是整数,0≤r

【输入】
输入仅一行,包括两个双精度浮点数a和b。

【输出】
输出也仅一行,a÷b的余数。

【输入样例】
73.263 0.9973

【输出样例】

0.4601
源程序:

1.0

#include
#include
using namespace std;
int main(){
    double a,b,r;
    cin>>a>>b;
    for(int i=0;;i++)
    {
    r=a-i*b;
    if(r>=0&&r

2.0

#include
#include
using namespace std;
int main(){
	double a,b,r;
	cin>>a>>b;
	int i=a/b;
	r=a-i*b;
	cout<

首先使用double,定义三个变量,依据题目可以看出。r的关系式为r=a-i*b;

用一个循环来确保r的取值范围为0<=r<1;

判断条件是否成立,成立后跳出循环;

用setiosflags(ios::fixed)表示以带小数点的形式表示浮点数

setiosflags(ios::right)靠右侧输出

setprecision(n)来控制小数保留n位数输出

创作灵感来源于该博主https://blog.csdn.net/u011815404/article/details/79222039

再次转载请注明出处!!!

你可能感兴趣的:(信息学奥赛一本通,c++,学习,青少年编程)