TB椰程 TypeBuddy 打字搭子

练27.1 叮叮当当

C++语法 · 循环结构 · 代码 · cpp · 难度 4/5 · 共 797 字

模拟 1 到 20 报数,2 的倍数叮叮 3 的倍数当当

  • C++语法
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/P164
// 题意:1 到 20 报数:报到 2 的倍数说"叮叮",
//       3 的倍数说"当当",共同的倍数说"叮叮当当"。
//       数字先攒着,一出口令就跟着数字一起换行。
// 思路:不是倍数的数字先攒在 pending 里,
//       遇到倍数把攒的数连同当前数一起输出,
//       再按条件接上口令并换行。
#include <iostream>
using namespace std;

int main() {
    int pending = 0;
    // pending 记录还没报出来的数,0 表示没有
    for (int i = 1; i <= 20; i++) {
        if (i % 2 != 0 && i % 3 != 0) {
            // 既不是 2 也不是 3 的倍数,先攒着
            pending = i;
            continue;
        }
        if (pending != 0) {
            cout << pending << " ";
            pending = 0;
        }
        cout << i << " ";
        // 按倍数情况接口令
        if (i % 2 == 0 && i % 3 == 0) cout << "叮叮当当";
        else if (i % 2 == 0) cout << "叮叮";
        else cout << "当当";
        cout << endl;
    }
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK