🌵🌵🌵前言
✨你好啊,我是“ 怪& ”,是一名在校大学生哦。
🌍主页链接:怪&的个人博客主页
☀️博文主更方向为:课程学习知识、作业题解、期末备考。随着专业的深入会越来越广哦…一起期待。
❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
💪很高兴与你相遇,一起加油!
题目
输入一个奇数 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;
}