pat_b_1027 打印沙漏


             http://pat.zju.edu.cn/contests/pat-b-practise/1027


            分析: 啧~


            代码:

                        

//打印沙漏
#include 
#include 
#include 
#include 
#include 
using namespace std;

void print(int x, char c)
{
    int y;
    for(int i=x;i>0;i--){
        y=x-i;
        while(y--) printf(" ");
        for(int t=i*2-1; t>0; t--){
            printf("%c",c);
        }
        printf("\n");
    }
    for(int i=2;i<=x;i++){
        y=x-i;
        while(y--) printf(" ");
        for(int t=i*2-1; t>0; t--){
            printf("%c",c);
        }
        printf("\n");
    }
}

int main()
{
    freopen("in.txt","r",stdin);

    int n,x,r;
    char c;
    while(~scanf("%d %c",&n,&c)){
          if(n==1) {
             printf("%c\n%d\n",c,0);
             continue;
          }
          x= sqrt( (double)(n+1)/2.0 );
          r= n-2*x*x+1;
         // cout<

你可能感兴趣的:(pat_b)