【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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?