分析问题
先使用拼接法完成菱形的打印
实现空心菱形
为菱形增加宽度
编写思路:
1 先打印三角形
2 打印等腰三角形
3
建立模型
输入上半部分
打印空格
打印一个三角形
如果是第一行、第1列、最后1列,打印星号
否则 打印空格
输出下半部分
打印空格
打印倒三角形
如果最后一行、第1列、最后1列,打印星号
否则 打印空格
编写代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int i,j,k;
for(i=1;i<=n;i++){
//打印空格
for(k=1;k<=n-i;k++){
cout<<" ";
}
//打印三角形
for(j=1;j<=2*i-1+n-1;j++){
if(i==1) {
cout<<"*";
}else{
if(j==1 || j==2*i-1+n-1)
{
cout<<"*";
}else{
cout<<" ";
}
}
}
cout<<"\n";
}
for(i=1;i<=n-1;i++){
//打印空格
for(k=1;k<=i;k++){
cout<<" ";
}
//打印三角形
for(j=1;j<=2*(n-1)-2*i+1+n-1;j++){
if(i==n-1){
cout<<"*";
}else{
if(j==1 || j==2*(n-1)-2*i+1+n-1)
{
cout<<"*";
}else{
cout<<" ";
}
}
}
cout<<"\n";
}
return 0;
}