测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A26389. 打印城门

填空题 中等

题目描述

打印城门

题目描述

给定一个正整数 n,输出如下的星号城门。具体格式请见样例。

输入格式

第一行:单个整数 n。

输出格式

输出规模为 n 的星号城门,注意每一行的末尾不能出现空格字符。

输入样例#1

3

输出样例#1

输入样例#2

5

输出样例#2

说明提示

1≤n≤100,保证 n 是一个奇数。

参考答案

#include <iostream> using namespace std; int main() { int n; cin >> n; // 上半部分:三角形 for (int i = 1; i <= n; i++) { // 打印前导空格 for (int j = 1; j <= 2*n - i; j++) { cout << " "; } // 打印星号 for (int j = 1; j <= 2*i - 1; j++) { cout << "*"; } cout << endl; } // 下半部分:城门 for (int i = 1; i <= n; i++) { // 打印前导空格 for (int j = 1; j <= n - i; j++) { cout << " "; } // 计算左右星号数量(整数除法) int stars = i + n/2; // 打印左侧星号 for (int j = 1; j <= stars; j++) { cout << "*"; } // 打印中间空格 for (int j = 1; j <= n; j++) { cout << " "; } // 打印右侧星号 for (int j = 1; j <= stars; j++) { cout << "*"; } cout << endl; } return 0; }
上一题 下一题