TB椰程 TypeBuddy 打字搭子

练38.2 大写字母 Y

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

用星号拼出高 2n-1 的字母 Y

  • C++语法
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/P231
// 题意:输出高度 2n-1 行的大写字母 Y:
//       上半部分两笔逐渐并拢,下半部分一竖到底。
// 思路:上半部分第 i 行左右两颗星间距递减,
//       合拢后下半部分每行只画一颗星。
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    // 上半部分:两笔逐渐并拢
    for (int i = 0; i < n; i++) {
        for (int s = 0; s < i; s++) cout << " ";
        cout << "*";
        int gap = 2 * (n - 1 - i) - 1;
        // 两笔还没合拢时画右边的星
        if (gap >= 1) {
            for (int s = 0; s < gap; s++) cout << " ";
            cout << "*";
        }
        cout << endl;
    }
    // 下半部分:一竖到底
    for (int i = 0; i < n - 1; i++) {
        for (int s = 0; s < n - 1; s++) cout << " ";
        cout << "*" << endl;
    }
    return 0;
}

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

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