HDU 2091 空心三角形

    xiaoxiao2025-03-03  7

    Problem Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。   Input 每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。   Output 每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。   Sample Input X 2 A 7 @ Sample Output   X XXX                  A             A    A          A         A        A             A     A                  A   A                      A AAAAAAAAAAAAA 思路:本来挺简单的一道题,结果又是细节,第一次没注意n==1的时候(wrong answer),第二次没注意每个三角形之间要空一行,,,改了之后又发现自己理解的空行和人家要求不一样,所以说语文一定好好学啊,理解题意太重要了。。 巨坑呀。。 以下AC代码: #include<stdio.h> int main() { char c; int n; int i,j; int flag=0; while(scanf("%c",&c)) { if(c=='@') break; scanf("%d",&n); if(flag) printf("\n"); flag=1; if(n==1) { printf("%c\n",c); } else { for(i=0;i<n-1;i++) printf(" "); printf("%c\n",c); for(i=1;i<n-1;i++) { for(j=1;j<n-i;j++) printf(" "); printf("%c",c); for(j=1;j<=2*i-1;j++) printf(" "); printf("%c\n",c); } for(i=0;i<2*n-1;i++) printf("%c",c); printf("\n"); } getchar(); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1296843.html
    最新回复(0)