文章
6
粉丝
135
获赞
21
访问
20.1k
二维数组是打印题的万能思路.(不管什么图形都可以用二维数组保存后打印.
#include <bits/stdc++.h>
using namespace std;
int main(){
int x;
while(scanf("%d",&x) !=EOF) {
char y[20][20]={0};
int mid = (2 * x - 1) / 2;
int cnt = 0;
//先把0 全部填上
for (int i = 0; i < (2 * x)-1; ++i) {
for (int j = 0; j < (2 * x)-1; ++j) {
y[i][j] = ' ';
}
}
bool xia = false;
for (int i = 0; i < 2*x-1; ++i){
for (int j = mid - cnt; j <= mid + cnt; ++j) {
y[i][j]='*';
}
if(xia){
cnt--;
}
else{
cnt++;
}
if(cnt==x-1){
xia = true;
}
}
for(int k=0; k<2*x-1;++k){
printf("%s",y[k]);
printf("\n");
}
}
}
登录后发布评论
暂无评论,来抢沙发