1027 打印沙漏

来源:互联网 发布:二叉树中序非递归算法 编辑:程序博客网 时间:2024/05/10 22:25
#include<stdio.h>int sum(int k);int main(){  int a;  char c;  int i,j;  int flag;  int k=0;  scanf("%d %c",&a,&c);  for(i=1;sum(i)<=a;i+=2);  i-=2;  flag=i;  if(sum(i)==a)  {      for(i;i>=1;i-=2)    {      for(j=0;j<k;j++)      printf(" ");      for(j=0;j<i;j++)        printf("%c",c);      printf("\n");      k++;    }    i+=4;    k--;    for(i;i<=flag;i+=2)    {      for(j=k;j>1;j--)        printf(" ");      for(j=0;j<i;j++)        printf("%c",c);      printf("\n");      k--;    }  }  else  {      for(i;i>=1;i-=2)    {      for(j=0;j<k;j++)      printf(" ");      for(j=0;j<i;j++)        printf("%c",c);      printf("\n");      k++;    }    i+=4;    k--;    for(i;i<=flag;i+=2)    {      for(j=k;j>1;j--)        printf(" ");      for(j=0;j<i;j++)        printf("%c",c);      printf("\n");      k--;    }    printf("%d\n",a-sum(flag));  }  return 0;}int sum(int k){  int sum1=0;  for(k;k>=1;k-=2)    sum1+=k;  return (sum1*2-1);}
0 0
原创粉丝点击