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;
}
上一题
下一题