美文网首页
1027 打印沙漏 (20 分)

1027 打印沙漏 (20 分)

作者: 79d12e22ec53 | 来源:发表于2019-04-30 10:42 被阅读0次
    #include<stdio.h>
    int main()
    {
        int N, n=0, sum=0, k, a;
        int i, j;
        char c;
        scanf("%d %c", &N, &c);
    
        sum = n*n + 2*n;
    
        for(n=0;;n++)
        {
            sum = n*n + 2*n;
            if(sum > (N-1)/2)
            {
                n -= 1;
                break;
            }
        }
    
        a = 2*n + 1;
    
        for(i=a;i>0;i-=2)
        {
            for(k=0;k<(a-i)/2;k++)
            {
                printf(" ");
            }
            for(j=0;j<i;j++)
            {
                putchar(c);
            }
            printf("\n");
    
    
        }
    
        for(i=3;i<=a;i+=2)
        {
            for(k=0;k<(a-i)/2;k++)
                printf(" ");
    
            for(j=0;j<i;j++)
                putchar(c);
            printf("\n");
    
        }
        sum = n*n + 2*n;
        int rest = N - (sum*2 + 1);
        printf("%d", rest);
    
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:1027 打印沙漏 (20 分)

          本文链接:https://www.haomeiwen.com/subject/rkemnqtx.html