解题思路: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 人评分
简单的a+b (C语言代码)浏览:544 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:465 |
wu-理财计划 (C++代码)浏览:837 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:661 |
愚蠢的摄影师 (C++代码)浏览:938 |
母牛的故事 (C语言代码)浏览:945 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1072 |
核桃的数量 (C语言代码)浏览:872 |
陈教主的三角形 (C语言代码)浏览:1143 |
C语言训练-自守数问题 (C语言代码)浏览:748 |