解题思路:1、根据对称性,只看前n/2行即可
2、发现奇数行和偶数行的规律
奇数行i/2个*-,结尾i/2个-* 中间全是*
偶数行i/2个*-,结尾i/2个-* 中间全是-
参考代码:
#include <iostream>
using namespace std;
int n;
int main() {
cin >> n;
for (int i = 1; i <= n/2; i++) {
if (i % 2 == 0) {
for (int j = 0; j < i / 2; j++) {
cout << "* ";
}
for (int j = 0; j < (n - 2*i); j++) {
cout << " ";
}
for (int j = 0; j < i / 2; j++) {
cout << " *";
}
}
else {
for (int j = 0; j < i / 2; j++) {
cout << "* ";
}
for (int j = 0; j < (n - 2 * (i - 1)); j++) {
cout << "*";
}
for (int j = 0; j < i / 2; j++) {
cout << " *";
}
}
cout << endl;
}
for (int i = n / 2; i > 0; i--) {
if (i % 2 == 0) {
for (int j = 0; j < i / 2; j++) {
cout << "* ";
}
for (int j = 0; j < (n - 2 * i); j++) {
cout << " ";
}
for (int j = 0; j < i / 2; j++) {
cout << " *";
}
}
else {
for (int j = 0; j < i / 2; j++) {
cout << "* ";
}
for (int j = 0; j < (n - 2 * (i - 1)); j++) {
cout << "*";
}
for (int j = 0; j < i / 2; j++) {
cout << " *";
}
}
cout << endl;
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.3 (C++代码)浏览:666 |
点我有惊喜!你懂得!浏览:1393 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:552 |
P1000 (C语言代码)浏览:869 |
Pascal三角 (C语言代码)浏览:643 |
淘淘的名单 (C语言代码)浏览:1225 |
输出九九乘法表 (C语言代码)浏览:1048 |
矩阵转置 (C语言代码)浏览:782 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:663 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1028 |