開始想的是反正每個波浪之間要空行,每個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;
}
//關於設標記變量處理空行的問題。