首页 > 代码库 > 网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【2】-在线编程(难度:易;10分)
网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【2】-在线编程(难度:易;10分)
1
编程序,学习使用类型转换运算符 static_cast(10分)
题目难度:易
题目内容:
编程序,读入两个数,然后计算两个数的除法结果。读入的第一个数a是整数;读入的第二个数b是双精度浮点数;
将b转换为整数,然后计算整数除法 a/b,结果记为x;
将a转换为双精度浮点数,然后计算双精度浮点数除法 a/b ,结果记为 y
将a转换为双精度浮点数,将b转换为整数然后再转换为双精度浮点数,然后计算双精度浮点数除法 a/b,结果记为z
输出x、y、z的值。
本程序无需考虑除数为0、结果溢出等异常情况。
注意:
以上所有转换都使用static_cast运算符
如果除法结果为浮点数,则输出时精确到小数点后3位数字
输入格式:
第一个数为整数,第二个数为双精度浮点数;
两个数之间使用空格分隔
输出格式:
按序输出x、y、z的值,相邻两个值之间使用1个空格分隔
注1:如果输出值为浮点数,则需要使用 std::fixed 与 std::setprecision 函数设置小数点后位数为3位。
这两个std成员可以自行搜索或者到 cppreference.com 检索(英文)
注2:使用std::setprecision函数需要包含<iomanip>头文件
输入样例:
4 2.5
输出样例:
2 1.600 2.000
时间限制:500ms内存限制:32000kb
#include <iostream>#include <iomanip>int main(){ int a; double b; std::cin >> a; std::cin >> b; int x = a / static_cast<int>(b);//将b转换为整数,然后计算整数除法 a / b,结果记为x double y = static_cast<double>(a) / b;//将a转换为双精度浮点数,然后计算双精度浮点数除法 a / b ,结果记为 y double z = static_cast<double>(a) / static_cast<double>(static_cast<int>(b));//将a转换为双精度浮点数,将b转换为整数然后再转换为双精度浮点数,然后计算双精度浮点数除法 a / b,结果记为z std::cout << x << " " << std::fixed << std::setprecision(3) << y << " " << z << std::endl; return 0;}
网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【2】-在线编程(难度:易;10分)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。