文章
25
粉丝
40
获赞
3
访问
20.5k
多一行空格,不改了
//应该就是中间的是n+2
//这里是2n-1是总行数,不是最大的*数
//n是啥,n只是平行四边形的边长
#include <iostream>
using namespace std;
int main(){
int n,num,a;
while(cin>>n){
if(n == 1){
cout<<'*'<<endl;
continue;
}
// num = n+2;//行数,星号数
// a = (num-1)/2;//输出空格,第一次输出行数-1
//修改为
num = 2*n-1;
a = n;
int k = a;
for(int i = 1; i<=a+1; i++){
int j;
for(j = k; j>=1; j--) cout<<' ';
for(int w = 1; w<=num-2*k; w++) cout<<'*';
for(j = k; j>=1; j--) cout<<' ';
cout<<endl;
k--;
}
//下一半
int j; k = 1;
for(int i = 1; i<=a; i++){
for(j = k; j<2; j++) cout<<' ';
for(int w = num-2*(2-k); w>=1;w--) cout<<'*';
for(j = k; j<=a; j++) cout<<' ';
cout<<endl;
k--;
}
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发