zoukankan      html  css  js  c++  java
  • 【PAT】B1027 打印沙漏(20 分)

    #include<cstdio>
    #include<stdlib.h>
    char C='*';
    int qiushu(int hang){//输入行数,求出字符数
        int sum=1;
        for(int i=3;i<=hang;i+=2){
            sum+=(1+i/2*2)*2;
        }
        return sum;
    }
    void dayin(int hang){
        for(int i=0;i<hang/2+1;i++){
            for(int j=0;j<i;j++){
                printf(" ");
            }
    
            for(int k=0;k<(1+(hang/2-i)*2);k++){
                printf("%c",C);
            }
            printf("
    ");
        }
        for(int i=0;i<hang/2;i++){
            for(int j=0;j<hang/2-i-1;j++){
                printf(" ");
            }
            for(int k=0;k<((i+1)*2+1);k++){
                printf("%c",C);
            }
            printf("
    ");
        }
    }
    int main(){
        int N;
        int hang=1;
        scanf("%d %c",&N,&C);//输入总数和字符
        while(!(qiushu(hang)<=N&&qiushu(hang+2)>N)){
            hang+=2;
        }//i是要打印的行号
        dayin(hang);
        printf("%d",N-qiushu(hang));
        return 0;
    }
    
    
  • 相关阅读:
    【leetcode】二叉搜索树的最近公共祖先
    052-12
    052-11
    052-10
    052-9
    052-8
    052-6
    052-5
    052-3
    052-2
  • 原文地址:https://www.cnblogs.com/hebust/p/9498075.html
Copyright © 2011-2022 走看看