用DevC++写 中国移动某套餐月使用费29元,来电显示免费,含国内通用流量10GB,国内主叫国内语音200分钟,套餐外国内主叫国内0.15元/分钟,国内被叫免费。套餐外流量按照5元1GB收取(不足1GB按比例收取),满15元后,按3元1GB收取。 输入格式: 输入某月的语音通话时长和使用流量数。 输出格式: 输出本月通信总费用(保留2位小数)。 输入样例: 210 4.5 输出样例: 30.50
时间: 2023-05-22 10:01:31 浏览: 67
以下是C知道的回答:
这是一个计费问题,我们可以根据套餐的规定来计算本月通信总费用。假设本月语音通话时长为x分钟,使用流量为y GB,则本月通信总费用为:
基础月租费:29元
超出套餐内语音通话时长:max(0, x-200) * 0.15元/分钟
超出套餐内流量:if(y<=10, 0, (y-10)*5) + max(0, (y-10))*3
总费用:29 + max(0, x-200)*0.15 + if(y<=10, 0, (y-10)*5) + max(0, (y-10))*3
将x和y代入上式,即可得到本月通信总费用。对于输入样例210 4.5,代入上式得到本月通信总费用为30.50元。
相关问题
中国移动某套餐月使用费29元,来电显示免费,含国内通用流量10GB,国内主叫国内语音200分钟,套餐外国内主叫国内0.15元/分钟,国内被叫免费。套餐外流量按照5元1GB收取(不足1GB按比例收取),满15元后,按3元1GB收取。 输入格式: 输入某月的语音通话时长和使用流量数。 输出格式: 输出本月通信总费用(保留2位小数)。 输入样例: 210 4.5 输出样例: 30.50
根据题目所给的套餐信息,我们可以计算出本月通信总费用。假设本月语音通话时长为x分钟,使用流量为y GB,则总费用为:
29元套餐费 + 超出套餐内语音通话时长的费用 + 超出套餐内流量的费用
其中,超出套餐内语音通话时长的费用为:
max(0, x-200) * 0.15元/分钟
超出套餐内流量的费用为:
if y <= 10:
0
elif y <= 11:
5元
elif y <= 12:
10元
elif y <= 13:
15元
elif y <= 14:
15元 + 3元
else:
15元 + 3元 * ceil(y-14)
根据上述公式,我们可以编写以下 Python 代码来计算本月通信总费用:
x, y = map(float, input().split())
over_voice = max(0, x-200) * 0.15
if y <= 10:
over_data = 0
elif y <= 11:
over_data = 5
elif y <= 12:
over_data = 10
elif y <= 13:
over_data = 15
elif y <= 14:
over_data = 15 + 3
else:
over_data = 15 + 3 * ((y-14)//1)
total_cost = 29 + over_voice + over_data
print('%.2f' % total_cost)
输入样例:
210 4.5
输出样例:
30.50
2(星子题,15分)中国移动某套餐月使用费29元,来电品示免费,含国内通用流量10GB,国内主叫国内语音200分钟,套餐外国内主叫国内0.15元/分钟,国内被叫免费。套餐外流量按照5元1GB收取(不足1GB按比例收取),,满15元后,按3元1GB收取。 输入格式 输入某月的语音通话时长和使用流量数。 输出格式 論出本月通信总费用(保留2位小数) 输入样卧: 210 4.5 输出拌例: 30.50
解题思路:
- 对于语音通话费用,如果不超出套餐内的200分钟,则不收费;如果超出,则按照0.15元/分钟收费。
- 对于流量费用,如果不超出套餐内的10GB,则不收费;如果超出,则按照5元/GB或3元/GB的标准收费。
根据以上思路,我们可以写出如下代码:
time, flow = map(float, input().split()) # 输入语音通话时长和使用流量数
cost = 29 # 套餐月使用费
if time > 200:
cost += (time - 200) * 0.15 # 超出套餐内通话时长,按照0.15元/分钟收费
if flow > 10:
if flow <= 15:
cost += (flow - 10) * 5 # 超出套餐内流量,按照5元/GB收费
else:
cost += 25 + (flow - 15) * 3 # 超出15GB,按照3元/GB收费
print('%.2f' % cost) # 输出本月通信总费用,保留2位小数
注意事项:
- 输入的语音通话时长和使用流量数需要转换成float类型,因为可能存在小数。
- 输出时,需要保留2位小数,可以使用字符串格式化的方式实现。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)