1027 打印沙漏 (20 分)

2019-04-30  本文已影响0人  79d12e22ec53
#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;
}

上一篇下一篇

猜你喜欢

热点阅读