排版题——2. 叠筐

2020-06-24  本文已影响0人  辘轳鹿鹿
image.png

解题心得:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{
    int n,first=1;
    char s1,s2,buf[82][82];


    while(scanf("%d %c %c",&n,&s1,&s2)!=EOF){
        int i,j,k,x,y;
        if(first==1){
            first=0;
        }
        else{
            printf("\n");
        }
        for(i=1,j=1;i<=n;i+=2,j+=1){
            x=n/2+1;
            y=x;
            x-=j-1;
            y-=j-1;
            char c=j%2?s1:s2;
            for(k=1;k<=i;k++){
                buf[x][y+k-1]=c;
                buf[x+k-1][y]=c;
                buf[x+i-1][y+k-1]=c;
                buf[x+k-1][y+i-1]=c;
            }
        }
        if(n!=1){
            buf[1][1]=' ';
            buf[1][n]=' ';
            buf[n][1]=' ';
            buf[n][n]=' ';
        }
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                printf("%c ",buf[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

上一篇下一篇

猜你喜欢

热点阅读