PAT_1027 (Basic Level) Practise (中文)

#include
int main(){
char C;
int N,i,a;
int cnt=0,cnt_1=0,cnt_2,sum1=1,sum2=7,sum3,j=1;
scanf("%d %c",&N,&C);
if(N>=7){
for(i=3; ;i+=2){//求出层数 
sum1=sum1+2*i;
sum2=sum2+2*(i+1);
cnt++;
if(N>=sum1&&N break;
}
}
cnt_2=cnt;
a=N-sum1;
do{//输出沙漏上面 
for(i=0;i<2*cnt+1;i++){
printf("%c",C);
}
printf("\n");
cnt_1++;
if(cnt>0){
for(i=0;i printf(" ");
  }
}
}while(cnt--);


do{//输出沙漏下面 
sum3=2*j+1;
j++;
for(i=0;i printf(" ");
  }
  cnt_1--;
  if(cnt_2>0){
for(i=0;i printf("%c",C);
}
printf("\n");
  }
}while(cnt_2--);
 }
if(N>=1&&N<7){//只有一层输出 
printf("%c\n",C);
a=N-1;
}
printf("%d",a);
return 0;
}

你可能感兴趣的:(C语言)