http://acm.hdu.edu.cn/showproblem.php?pid=2091
注意;输出格式及n==1时的情况
最重要的是一行的最后一个没有空格
这一点很容易错!通过这题也学会了一些小技巧!呵呵……
3094803 | 2010-10-20 20:32:07 | Accepted | 2091 | 15MS | 208K | 603 B | G++ | rll |
代码
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 int main()
5 {
6 char s;
7 int i,j,k,n,flag=0;//flag标记次数,用于打回车
8 while(scanf("%c",&s),s!='@')
9 {
10 scanf("%d",&n);
11 if(flag>0)putchar('\n');
12 if(n==1)
13 printf("%c\n",s);
14 else
15 {
16 for(i=1;i<=n-1;i++)
17 {
18 for(j=1;j<n+i;j++)
19 {
20 if(j==(n-i+1)||j==(n+i-1))
21 printf("%c",s);
22 else
23 printf(" ");
24 }
25 putchar('\n');
26 }
27 for(i=0;i<2*n-1;i++)
28 printf("%c",s);
29 putchar('\n');
30 }
31
32 flag++;
33 getchar();
34 }
35 return 0;
36 }
37