这题格式tm卡了我好久,因为不确定下一次输入是否为@ 代表结束,所以不能用平时的换行方式,在下一次输入时进行判断是否结束,若不结束,换一次行,且第一次输入不换行。
#include<stdio.h>
int main()
{
int n,flag=0;
char ch;
while(scanf("%c",&ch)!=EOF)
{
if(ch=='@') break;
scanf("%d",&n);
if(flag!=0) printf("\n");
flag=1;
getchar();
for(int i=1;i<n;i++) printf(" ");
printf("%c\n",ch);
for(int i=2;i<n;i++)
{
for(int j=1;j<=n-i;j++) printf(" ");
printf("%c",ch);
for(int k=1;k<2*(i-1);k++) printf(" ");
printf("%c\n",ch);
}
if(n>1)
{
for(int i=0;i<2*n-1;i++)
printf("%c",ch);
printf("\n");
}
}
return 0;
}