题目链接:
解题思路:1—注意输出格式,PE了好多次,具体格式分析见下,从discuss·里面粘贴过来的http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=16852&messageid=1&deep=0
反思----边界值一定要多考虑,比如这题只有一行的情况
#include<stdio.h>
int main()
{
char c;
int n,t=1;
while(scanf("%c %d",&c,&n)!=EOF&&n>0&&n<41)
{
getchar();
if(c=='@')
break;
if(t>1) //注意格式
printf("\n");
int i=0,j=0;
for(i=1;i<=n-1;i++)
{
printf(" ");
}
printf("%c\n",c);
for(i=2;i<=n-1;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
printf("%c",c);
for(j=1;j<=2*(i-1)-1;j++)
printf(" ");
printf("%c\n",c);
}
if(n>1)
{
for(i=1;i<=2*n-1;i++)
printf("%c",c);
printf("\n");
}
t++;
}
}