GESP2023年9月认证C++一级( 第三部分编程题(1)买文具)
参考程序1
#include <iostream> // 包含输入输出流(cin, cout)
using namespace std; // 使用 std 命名空间int main() {// 声明并初始化四个整型变量:// x: 要买的签字笔数量// y: 要买的记事本数量// z: 要买的直尺数量// q: 小明手里的钱(单位:元)int x = 0, y = 0, z = 0, q = 0;// 从标准输入读取四个整数。cin >> 会忽略空白(空格/换行),cin >> x >> y >> z >> q;// 计算总价 t(注意乘法优先级没问题):签字笔 2 元/支,记事本 5 元/本,直尺 3 元/把int t = x * 2 + y * 5 + z * 3;// 根据钱是否足够输出不同结果if (q >= t) {// 钱够:按要求第一行输出 "Yes"cout << "Yes" << endl; // endl 会输出换行并刷新输出流// 第二行输出剩余的钱(非负整数)cout << q - t << endl;} else {// 钱不够:按要求第一行输出 "No"cout << "No" << endl;// 第二行输出缺少的钱(非负整数)cout << t - q << endl;}return 0; // 返回 0 表示程序正常结束
}
参考程序2
#include <iostream> // 提供 cin, cout
using namespace std;int main() {// 定义常量表示单价(单位:元)const int PEN_PRICE = 2; // 签字笔单价const int NOTE_PRICE = 5; // 记事本单价const int RULER_PRICE = 3; // 直尺单价// 定义变量存储输入数据int pens = 0; // 要买的签字笔数量int notebooks = 0; // 要买的记事本数量int rulers = 0; // 要买的直尺数量int money = 0; // 小明手里的钱// 输入:四个整数(题目允许每行一个,也可空格分隔)cin >> pens >> notebooks >> rulers >> money;// 计算总花费:数量 × 单价int totalCost = pens * PEN_PRICE+ notebooks * NOTE_PRICE+ rulers * RULER_PRICE;// 判断钱是否足够if (money >= totalCost) {// 钱够:输出 "Yes" 和剩余的钱cout << "Yes\n"; // 第一行输出 Yescout << (money - totalCost) << '\n'; // 第二行输出剩余的钱} else {// 钱不够:输出 "No" 和缺少的钱cout << "No\n"; // 第一行输出 Nocout << (totalCost - money) << '\n'; // 第二行输出缺少的钱}return 0; // 程序正常结束
}