From 8a656a69a7b5d47309d1d528b0d845f57f96683b Mon Sep 17 00:00:00 2001 From: flykhan Date: Wed, 2 Aug 2023 15:42:00 +0800 Subject: [PATCH] =?UTF-8?q?3=E4=B8=AA=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../t617.cpp | 25 ++++++++++ .../t618.cpp | 20 ++++++++ .../t658.cpp | 50 +++++++++++++++++++ .../t658_2.cpp | 40 +++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 第一讲 变量、输入输出、表达式与顺序语句/t617.cpp create mode 100644 第一讲 变量、输入输出、表达式与顺序语句/t618.cpp create mode 100644 第一讲 变量、输入输出、表达式与顺序语句/t658.cpp create mode 100644 第一讲 变量、输入输出、表达式与顺序语句/t658_2.cpp diff --git a/第一讲 变量、输入输出、表达式与顺序语句/t617.cpp b/第一讲 变量、输入输出、表达式与顺序语句/t617.cpp new file mode 100644 index 0000000..1882cd3 --- /dev/null +++ b/第一讲 变量、输入输出、表达式与顺序语句/t617.cpp @@ -0,0 +1,25 @@ +// 两辆汽车在同一地点,同时,沿同一方向前进。 + +// 一辆车的速度为 60 km / +// h +// ,另一辆车的速度为 90 km / +// h +// 。 + +// 显然,快车与慢车的距离会不断拉开,每过一个小时(60 +// 分钟),两车的距离就拉开 30 公里。 + +// 现在,告诉你两车之间的距离为 L +// 公里,请你求出两车已经行驶了多长时间? + +#include + +using namespace std; + +int main() +{ + int L; + cin >> L; + cout << (L << 1) << " minutos" << endl; + return 0; +} diff --git a/第一讲 变量、输入输出、表达式与顺序语句/t618.cpp b/第一讲 变量、输入输出、表达式与顺序语句/t618.cpp new file mode 100644 index 0000000..460aaf1 --- /dev/null +++ b/第一讲 变量、输入输出、表达式与顺序语句/t618.cpp @@ -0,0 +1,20 @@ +// 一辆汽车每行驶 12 公里需要消耗 1 升汽油,现在告诉你该汽车的行驶速度 S +// (km / +// h +// )和行驶时间 T +// (h +// ),请你计算该车在行驶过程中一共消耗了多少升汽油。 +#include +#include + +using namespace std; + +int main() +{ + long long T, S; + cin >> T >> S; + // cout << (T * S) / 12.0 << endl; + // printf("%.3lf", (double)T * S / 12); + cout << fixed << setprecision(3) << T * S / 12.0 << endl; + return 0; +} diff --git a/第一讲 变量、输入输出、表达式与顺序语句/t658.cpp b/第一讲 变量、输入输出、表达式与顺序语句/t658.cpp new file mode 100644 index 0000000..dd8041f --- /dev/null +++ b/第一讲 变量、输入输出、表达式与顺序语句/t658.cpp @@ -0,0 +1,50 @@ +// 读取一个带有两个小数位的浮点数,这代表货币价值。 + +// 在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的总数量尽可能少。 + +// 钞票的面值是 100, +// 50, 20, 10, 5, 2 +// 。 + +// 硬币的面值是 1, +// 0.50, 0.25, 0.10, 0.05 和 0.01 +// 。 + +// 经过实验证明:在本题中,优先使用面额大的钞票和硬币可以保证所用的钞票和硬币总数量最少。 +#include +#include + +using namespace std; + +int main() +{ + double n; + cin >> n; + + int m = (int)(n * 100); // 保留两位小数 + + double a[12] = {10000, 5000, 2000, 1000, 500, 200, + 100, 50, 25, 10, 5, 1}; + int ans[12] = {0}; + + for (int i = 0; i < 12; i++) + { + int cnt = 0; + while (m >= a[i]) + { + m -= a[i]; // 从大到小减 + cnt++; + } + ans[i] = cnt; // 记录每种面值的钞票和硬币使用数量 + } + + puts("NOTAS:"); + for (int i = 0; i < 6; i++) + printf("%d nota(s) de R$ %.2lf\n", ans[i], a[i] / 100); + + puts("MOEDAS:"); + for (int i = 6; i < 12; i++) + printf("%d moeda(s) de R$ %.2lf\n", ans[i], a[i] / 100); + + return 0; +} \ No newline at end of file diff --git a/第一讲 变量、输入输出、表达式与顺序语句/t658_2.cpp b/第一讲 变量、输入输出、表达式与顺序语句/t658_2.cpp new file mode 100644 index 0000000..a15840c --- /dev/null +++ b/第一讲 变量、输入输出、表达式与顺序语句/t658_2.cpp @@ -0,0 +1,40 @@ +// 读取一个带有两个小数位的浮点数,这代表货币价值。 + +// 在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的总数量尽可能少。 + +// 钞票的面值是 100, +// 50, 20, 10, 5, 2 +// 。 + +// 硬币的面值是 1, +// 0.50, 0.25, 0.10, 0.05 和 0.01 +// 。 + +// 经过实验证明:在本题中,优先使用面额大的钞票和硬币可以保证所用的钞票和硬币总数量最少。 +#include +#include +using namespace std; +int main() +{ + double n; + cin >> n; + int m = (int)(n * 100); + int a[12] = {10000, 5000, 2000, 1000, 500, 200, 100, 50, 25, 10, 5, 1}; + printf("NOTAS:\n"); + for (int i = 0; i < 12; i++) + { + if (i < 6) + { + printf("%d nota(s) de R$ %.2f\n", m / a[i], (float)a[i] / 100); + m %= a[i]; + } + if (i == 6) + printf("MOEDAS:\n"); + if (i >= 6) + { + printf("%d moeda(s) de R$ %.2f\n", m / a[i], (float)a[i] / 100); + m %= a[i]; + } + } + return 0; +}