uva oj 488

開始想的是反正每個波浪之間要空行,每個CAS的波浪之間也要空行。

就想直接在沒輸出一個波浪就printf("\n");

但是由於最後是以EOF結尾,所以如果這麼寫就會在最後一個CAS的最後一個波浪後多輸空一行。

所以應該改成用flag標記是不是該CAS中的最後一個波浪,在新CAS開始之前輸出printf("\n");


#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    int T,i,h,f,k,flag=0;
    scanf("%d",&T);
    while(T--)
    {
        if(flag==1) printf("\n");
        scanf("%d%d",&h,&f);
        for(k=1;k<=f;k++)
        {
            for(i=1;i<=h;i++)
            {
                int m=i;
                while(m--)
                    printf("%d",i);
                printf("\n");
            }
            for(i=h-1;i>=1;i--)
            {
                int m=i;
                while(m--)
                    printf("%d",i);
                printf("\n");
            }
            if(k!=f)
                printf("\n");
            else
                flag=1;
        }
    }
    return 0;
}

//關於設標記變量處理空行的問題。


發佈了96 篇原創文章 · 獲贊 13 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章