hdu2091 空心三角形 解题报告 (输入输出)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2091

菜鸟(像我这样的)练习输入输出格式的好题目

没有多余的空行 这是很容易错的地方

第一行和最后一行需要特殊考虑 第一行后面没空格

并且输出要求每组测试一个空行 最后一组没空行 因为不知道哪组是最后一组 因此只能除了第一组之后每一组之前都打一个空行(居然吧空行的位置打错了 在“@”后打了个空行  囧~)

除了第一行和最后一行之外 其他可以通过枚举的方式推出来

输出样例:(*表示空格 空行表示空行 )

这样就能看明白了

*X空行
XXX空行
空行
******A空行
*****A*A空行
****A***A空行
***A*****A空行
**A*******A空行
*A*********A空行
AAAAAAAAAAAAA空行

 最后 粘上代码:

 1 #include<iostream>
2 #include<cstdio>
3 using namespace std;
4 int main()
5 {
6
7 //freopen("C:\\Users\\yujiaao\\Desktop\\测试专用\\in.txt","r",stdin);
8 //freopen("C:\\Users\\yujiaao\\Desktop\\测试专用\\out.txt","w",stdout);
9 char ch;
10 int depth,i,j,ncase=0;
11 while(scanf("%c %d",&ch,&depth)!=EOF)
12 {
13
14 getchar();
15 if(ch=='@')
16 break;
17 if(ncase!=0)
18 {
19 printf("\n");
20 }
21 for(j=1;j<=depth-1;j++)
22 {
23 for(i=1;i<=depth-j;i++)
24 {
25 printf("");
26 }
27 printf("%c",ch);
28 if(j!=1)
29 {
30 for(i=1;i<=2*(j-1)-1;i++)
31 {
32 printf("");
33 }
34 printf("%c",ch);
35 }
36 printf("\n");
37 }
38 for(j=0;j<2*depth-1;j++)
39 printf("%c",ch);
40 printf("\n");
41 ncase++;
42 }
43 //system("pause");
44 return 0;
45 }

 

posted on 2011-11-25 15:20  渔家傲  阅读(593)  评论(0编辑  收藏  举报

导航