信息学奥赛(C++)——计算邮资

2020-06-30 19:56
电脑报 2020年12期
关键词:邮资总费用邮费

在我们的日常生活中,寄快递成了必不可少的事情,比如寄到北京是多少钱呀?如果我要加急需要另外付吗?如果超出了重量需要加付吗?这些都是我们实际会遇到的一些问题,那么今天就和大家一起来讨论一道“全国青少年编程等级考试”的题目“计算邮资”,根据邮件的重量和用户是否愿意加急计算出邮费。

题目描述:根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克),基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户選择加急,多收5元。

输入:输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是v,说明选择加急;如果字符是n,说明不加急。

输出:输出一行,包含一个整数,表示邮费。

输入样例:1200y

输出样例:17

通过分析题目我们可以在一张表格上把所有的可能性给列出来,根据不同重量,算基本的费用,再考虑是否需要加急,最后算出总费用。那么根据表格我们可以画出一张流程图(图1):

接下来我们用C++语言来写一下(图2)。

weight:总重量;cost:总费用;quick:是否加急

代码解析:当重量大于1000克时,我们会拿总重量-1000代表超出的重量,根据超出的重量进行判断(weight是否能被500整除),当超出的重量刚好是500的倍数的时候weight/500*4。如果最后超出重量不能被500整除那么cost直接加4,计算完重量邮资后,看是否需要加急,如果需要加急,cost加5,如果不需要加急,cost则不需要加5。

猜你喜欢
邮资总费用邮费
欢迎邮购合订本
欢迎邮购合订本
拿到录取都愁学费 2017年全美最贵大学TOP50汇总
拼拼看
南京市长期护理保险财务需求测算
欢迎订阅2015年《世纪》
精华公司邮售书目(均免收挂号邮资)
请购合订本