文章

6

粉丝

135

获赞

4

访问

16.8k

头像
竟然没有人用二维数组处理打印题?
P1473 杭州电子科技大学2019年机试题
发布于2023年3月19日 12:57
阅读数 2.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");
        }
    }
}
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发