文章
6
粉丝
135
获赞
4
访问
16.8k
二维数组是打印题的万能思路.(不管什么图形都可以用二维数组保存后打印.
#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"); } } }
登录后发布评论
暂无评论,来抢沙发