这题就注意三个地方就好了
第一个是要加上一个getchar()这样才能把上一次的输入清掉
第二个是空格,最后一个字符后不能有空格
第三个(我就是错在这一个= =)每个样板三角形中间有一个空行,但是最后一个样板三角形和@之间是没有空行的
#include <stdio.h>
int main()
{
char hw;
int n,i,j,w,m=0;
while(scanf("%c",&hw)!=EOF)
{
if(hw=='@')
break;
if(m>0)
printf("\n");
w=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
printf("%c",hw);
if(i!=1&&i!=n)
{
for(j=1;j<=w;j++)
printf(" ");
w+=2;
printf("%c",hw);
}
if(i==n)
for(j=1;j<=2*n-2;j++)
printf("%c",hw);
printf("\n");
}
m++;
getchar();
}
return 0;
}