C++ / ACM 自学笔记 · v5.0

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)\)。

返回本章题解索引 · 返回全部题号索引

查阅笔记正文与全部题解 · Ctrl / ⌘ K