hdu 2091 空心三角形

這道題問題出在對於換行的判斷。。。。
#include<iostream>

using namespace std;

int main()
{
    char c;
    int h, f = 0;
    while (cin>>c)
    {
        if (c == '@')
            return 0;
            
        cin>>h;
        
        if (f > 0)
            cout<<'\n';
            
        if (h == 1)
        {
            cout<<c<<endl;
            continue;
        }

        int temp = 2*h - 1;
        
        for (int i=0; i<temp/2; i++) //輸出第一行
            cout<<" ";
        cout<<c<<endl;

        for (int i=2; i<h; i++) //輸出中間行
        {
            int j;
            for (j=0; j<(temp - (2*i - 1))/2; j++)
                cout<<" ";
            cout<<c;
            for (j=0; j < 2*i - 3; j++)
                cout<<" ";
            cout<<c<<endl;
        }

        for (int i=0; i<temp; i++) //輸出最後一行
            cout<<c;
        f++;
        cout<<endl;
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章