【DTOJ】2703:两个数的余数和商

DTOJ 2703:两个数的余数和商  解题报告

  • 2017.11.10 第一版 ——由翱翔的逗比w原创,引用《C++ Primer Plus(第6版)中文版》

 

题目信息:

题目描述

给你a和b,求他们的余数和非整数商。保留两位小数。

输出

余数和商

样例输入

5 3

样例输出

2 1.67

提示

1<=a,b<=10000

思路:

利用运算符计算出余数和商,取模运算在前一篇提到过不再多讲。

注意:

除法运算符(/)的行为取决于操作数的类型。如果两个操作数都是整数,则C++将执行整数除法。这意味着结果的小数部分将被丢弃,使得最后的结果是一个整数。如果其中有一个(或两个)操作数是浮点值,则小数部分将保留,结果为浮点数。

——以上摘自《C++ Primer Plus (第6版)中文版》

这便意味着为了执行小数除法,使用除法前需保证有一个操作数是浮点值。注意保留两位小数

我的代码(C++):

 1 //DTOJ 2703 
 2 #include <iostream>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int a,b;
 8     cin>>a>>b;
 9     int c=a%b;
10     double d=double(a)/b;
11     printf("%d %.2f",c,d);
12     return 0;
13 }

分析:

第七行:int a,b;  由于此处要执行取模运算,所以必然是输入两个整数。所以定义两个整型int变量

第十行:double d=double(a)/b;  由于前面注意中提到,执行非整数的除法运算操作数中至少有一个是浮点值,所以在此使用double()将a强制转换类型为双精度浮点型double,这样便可得到非整数商

第十一行:printf("%d %.2f",c,d);  此处使用printf将c和d的值打印至屏幕(输出),由于需要保留两位小数,故在d的位置加上 .2f

 

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

  ——翱翔的逗比w

转载于:https://www.cnblogs.com/axdoub/p/7816226.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值