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语句将最终的费用输出即可

三、程序代码

cpp 复制代码
#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,输出最后邮资

五、运行结果

cpp 复制代码
1200 y


17

六、考点分析

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

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

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

相关推荐
小兔子编程1 年前
C++ 递归函数 详细解析——C++日常学习随笔
c++·c++算法·c++递归函数·递归函数用法·函数递归
小兔子编程1 年前
C/C++小写字母的判断 2022年3月电子学会中小学生软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++考级一级真题·中小学生c++考级真题·中小学生c++编程·中小学生c++一级真题·中小学生c++一级真题和答案·c++一级真题和答案
小兔子编程1 年前
C/C++字符判断 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++一级真题答案解析·c++考级一级真题和答案·中小学生c++考级真题·中小学c++一级真题和答案·c++字符判断·电子学会c++一级真题和答案
小兔子编程1 年前
C/C++疫情集中隔离 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++考级一级真题·c++编程·c++案例教学·中小学生c++·中小学c++一级真题·c++疫情集中隔离
小兔子编程1 年前
C/C++计算乘积 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++考级一级真题·c++编程·c++计算乘积·c++大位数乘法·c++乘法运算·c++等级考试一级真题
小兔子编程1 年前
C/C++(a/b)*c的值 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++考级一级真题·c++考级真题·c++一级真题解析·c++考级一级题目·c++真题·c++输出表达式
小兔子编程1 年前
C/C++输出硬币翻转 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
算法·c++一级真题·c++考级一级真题·c++考级真题·c++真题·c++一级题目·c++硬币翻转
小兔子编程1 年前
C/C++与圆相关的计算 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
算法·c++一级真题·c++考级一级真题·c++一级真题解析·c++圆的周长·c++圆的面积
小兔子编程1 年前
C/C++奇数求和 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
算法·c++一级真题·c++考级一级真题·c++考级真题·c++案例·c++奇数求和
小兔子编程1 年前
C/C++满足条件的3位数 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
c++一级真题·c++考级一级真题·c++考级真题·c++算法·c++一级真题答案·c++满足条件三位数·c++数组应用