网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【2】-在线编程(难度:易;10分)...

 

1

编程序,学习使用类型转换运算符 static_cast(10分)

题目难度:易

 

题目内容:

编程序,读入两个数,然后计算两个数的除法结果。读入的第一个数a是整数;读入的第二个数b是双精度浮点数;

  1. 将b转换为整数,然后计算整数除法 a/b,结果记为x;

  2. 将a转换为双精度浮点数,然后计算双精度浮点数除法 a/b ,结果记为 y

  3. 将a转换为双精度浮点数,将b转换为整数然后再转换为双精度浮点数,然后计算双精度浮点数除法 a/b,结果记为z

输出x、y、z的值。

 

本程序无需考虑除数为0、结果溢出等异常情况

 

注意:

  1. 以上所有转换都使用static_cast运算符

  2. 如果除法结果为浮点数,则输出时精确到小数点后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;
}

 

转载于:https://www.cnblogs.com/denggelin/p/5864195.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值