题目描述
按照样例格式输出双层金字塔
输入格式多个测试数据。每个测试数据输入一个整数
输出格式输出双层金字塔
样例输入样例1
2
5
输出样例1
*
***
*
*
***
*****
*******
*********
*******
*****
***
*
数据范围与提示
参考答案:
#include<iostream>
using namespace std;
int main() {
int n;
// 持续读入多组数据的n
while (cin >> n) {
// 打印上层金字塔
for (int i = 1; i <= n; ++i) {
// 打印每一行前面的空格
for (int j = 1; j <= n - i; ++j)
cout << ' ';
// 打印每一行的*
for (int j = 1; j <= 2 * i - 1; ++j)
cout << '*';
cout << endl;
}
// 打印下层金字塔
for (int i = n - 1; i >= 1; --i) {
// 打印每一行前面的空格
for (int j = 1; j <= n - i; ++j)
cout << ' ';
// 打印每一行的*
for (int j = 1; j <= 2 * i - 1; ++j)
cout << '*';
cout << endl;
}
}
return 0;
}
[循环]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int n;
bool a;
// The main procedure
int main() {
a = true;
while (!cin.eof()) {
cin>>n;
for (int j = 1; j <= n; j++) {
if (a) {
a = false;
} else {
cout<<'\n';
}
for (int k = 1; k <= (n-j); k++) {
cout<<" ";
}
for (int m = 1; m < (j*2); m++) {
cout<<"*";
}
}
for (int j = 1; j < n; j++) {
cout<<'\n';
for (int k = 1; k <= j; k++) {
cout<<" ";
}
for (int m = 1; m < ((n-j)*2); m++) {
cout<<"*";
}
}
}
return 0;
}
Blockly题解代码图片