P5712 Apples
对应章节:一、C++ 语法基础 → (五) 条件与循环。
(一) 任务与输出目标
按苹果个数输出指定英语句子,0 和 1 使用 apple,多于 1 使用 apples。
(二) 建模与推导
句子中只有数量和词尾发生变化。先输出固定前缀、x 与 apple,再用 x>1 决定是否添加 s,最后输出句点。题面把 0 的句子按单数词形处理,因此判断直接来自这个输出规则。
(三) 手算与过程
输入 0、1、2,分别得到 0 apple、1 apple、2 apples。
(四) 带注释实现
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
void solve() {
int x;
cin >> x;
cout << "Today, I ate " << x << " apple";
if (x > 1)
cout << 's'; // 多于一个时添加复数词尾。
cout << ".\n"; // 句点也是题目要求的输出字符。
}
signed main() {
ios::sync_with_stdio(false); // 关闭同步,使用 cin 与 cout 完成输入输出。
cin.tie(0), cout.tie(0);
int T = 1; // 本题读入一组数据。
// cin >> T; // 题目给出测试组数时开启,并在 solve 中处理一组。
while (T--)
solve();
}(五) 复杂度
时间 \(O(1)\),额外空间 \(O(1)\)。