0


C/C++计算邮资 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

C/C++计算邮资

2019年9月 C/C++编程等级考试一级编程题

一、题目要求

1、编程实现

根据邮件的重量和用户是否选择加急计算邮费。

计算规则:

重量在1000克以内(包括1000克),基本费8元。

超过1000克的部分每500克加收超重费4元,不足500克部分按500克计算;

如果用户选择加急,多收5元。

2、输入输出

输入描述:

输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。

如果字符是y,说明选择加急;如果字符是n,说明不加急。

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

输入样例:

1200 y

输出样例:

17

二、解题思路

1、案例分析

  1. 从给定题目的初步分析可以看出,首先需要从键盘获取一个整数和字母
  2. 可以使用int和char类型进行变量的声明,用来保存键盘输入的数据
  3. 同时使用int类型声明一个费用的变量,用来保存最后的邮资费用
  4. 然后可以通过if分支条件语句进行判断,如果重量在1000及以内费用就是8,否则费用为8加上超出每500氪乘以4,不足按4元(可以使用cmath里面的ceil函数)
  5. 接着再判断一下是否需要加急,如果是费用在加5即可
  6. 最后利用cout语句将最终的费用输出即可

三、程序代码

#include<iostream> 
#include<cmath>
using namespace std;
int main()
{
    int weight,cost;
    char c;
    cin>>weight>>c;
    if(weight<=1000)
    {
        cost = 8;
    }
    else
    {
        cost = 8 + ceil((weight-1000)/500.0)*4;
    }
    if(c == 'y')
    {
        cost += 5;
    }
    cout<<cost;
    return 0;
}

四、程序说明

  1. 根据题目要求声明2个整形int变量和一个字符char变量
  2. 然后利用输入流对象cin,从键盘读取三个变量的值
  3. 按照邮资的资费规则利用if分支语句进行计算,同时利用ceil函数进行超重部分邮资的计算
  4. 最后利用输出流对象cout,输出最后邮资

五、运行结果

1200 y

17

六、考点分析

难度级别:容易,这题相对而言还是比较简单的,具体主要考查如下:

  1. 变量的声明和使用
  2. 输入流对象cin的使用,与流提取运算符 >>结合使用从键盘读取想要的数据
  3. 在计算邮资超重的时候将500写成500.0,这里之所以需要用500.0,是因为在c++中除法运算(/)如果两边都是整数返回的就是整数部分,这样计算的结果会有出入,所以需要将其中一个数转化成小数才可以
  4. ceil函数:是返回大于或者等于指定表达式的最小整数,通俗一点就是向上取整
  5. 输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  6. 充分掌握变量定义和使用、ceil函数的使用、if分支语句及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!


本文转载自: https://blog.csdn.net/frank2102/article/details/132852749
版权归原作者 小兔子编程 所有, 如有侵权,请联系我们删除。

“C/C++计算邮资 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析”的评论:

还没有评论