您的位置:首页 > 其它

杭电2091 空心三角形(水)

2018-03-22 13:15 323 查看
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2039
打印图形题好久没碰到了。这种题找找规律就行了。。写这个主要是题目真的keng! 

[align=left]Output[/align]每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。注意这里:每个三角形之间空上一行,为此我wc2次。我习惯wc2次开始怀疑了。。。
它的空上一行不是样例之间而是三角形之间!(好吧,我还是第一次碰到这种LYB)
注意把回车键用getchar()消去。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
    char c;
    int n,m,i,j,f,f1=0;
    while(~scanf("%c",&c)){
            if(c=='@') break;
        scanf("%d",&n);
        m=2*n-1;
        n--;
        if(f1) printf("\n");
        if(!f1) f1++;
        for(i=0;i<n;i++){
            for(j=-n;j<=n;j++){
                f = 1;
                if(j==-i){
                    printf("%c",c);
                    if(j==-i&&!i) {
                        printf("\n");break;
                    }
                    f=0;
                }
                if(j==i&&i) {
                    printf("%c\n",c); break;
                    f=0;
                }
                if(f) printf(" ");
            }
        }
        for(i=0;i<m-1;i++)
            printf("%c",c);
        printf("%c\n",c);
        getchar();
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM