随笔 - 128  文章 - 0  评论 - 1  阅读 - 40966

PAT:1027. 打印沙漏(20) 太复杂

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;

int main()
{
  int n,other,hang;
  char p;
  scanf("%d %c",&n,&p);
  --n;
  if(n==0)
    printf("%c",p);
  else
  {
    hang=1;
    n/=2;
    while(n>0)
    {
      n-=2*hang+1;
      ++hang;
    }
  }
  other=-n;

  for(int i=hang ; i>0 ; --i)
  {
    int limit=2*hang+1;
    for(int k=i ; k<hang ; ++k)
      printf(" ");
    for(int j=0 ; j<limit ; ++j)
      printf("%c",p);
    printf("\n");
  }
  printf("%d",other);
  system("pause");
  return 0;
}
posted on   Evence  阅读(2356)  评论(0编辑  收藏  举报
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示