🌵🌵🌵前言
题目
输入一个奇数 n,输出一个由 * 构成的 n 阶实心菱形。
代码
#include <iostream>
using namespace std;
int main(){
int n;cin>>n;
for(int i=1;i<=n;i=i+2){ //打印1、3、5……n数行 (即菱形含最大行的上半部分)
for(int j=1;j<=n/2-i/2;j++){ //打印空格,n/2是空格最多的情况,n-2-i/2为需要打印的空格数量
cout<<" ";
}
for(int j=1;j<=i;j++){ //第i行有i个"*"
cout<<"*";
}
cout<<endl;
}
for(int i=n-2;i>=1;i=i-2){ //打印n-2、n-5……1行 ,下半部分等于上半部分的倒置
for(int j=1;j<=n/2-i/2;j++){
cout<<" ";
}
for(int j=1;j<=i;j++){
cout<<"*";
}
cout<<endl;
}
return 0;
}