题意

描述

plw吃完午饭之后,马上又觉得肚子饿了。他决定马上从美食区离开,赶往下一个吃饭地点"香香鸡"。但是在plw离开离开美食区之前,需要按美食区的规矩画一个特殊符号,并且如果是这是第k次离开美食区,就需要画k倍大小的图形

plw的晚餐(毒瘤题害我暴0)-LMLPHP

输入

多组测试

第一行输入T (T <= 10)

接下来T行,每一行输入一个k(k<=1000),代表这是第k次离开美食区。

输出

对于每次输入要求输出k倍大小的标准图形。

每2组测试数据之间输出一个空行。

注意,不要输出多余的空行或者行末空格。

输入样例 1

2

1

2

输出样例 1

plw的晚餐(毒瘤题害我暴0)-LMLPHP

分析

没什么难的就是看你细不细心

“不要输出多余的空行或者行末空格”

就是末尾不能有空格而且每2组测试数据之间输出一个空行。

代码

#include<iostream>
using namespace std;
void print(int k){
for(int i=1;i<=4*k;i++)
if(i>k&&i<=4*k) cout<<'_';
else cout<<' ';
cout<<endl;
for(int i=1;i<=k;i++){
for(int j=1;j<=5*k;j++)
if(j==k-i+1) cout<<'/';
else if(j==4*k+i) cout<<'\\';
else if(j<4*k+i) cout<<' ';
else continue;
cout<<endl;
}
for(int i=1;i<=k;i++){
for(int j=1;j<=5*k;j++)
if(j==i) cout<<'\\';
else if(j==5*k-i+1) cout<<'/';
else if(j>i&&j<5*k-i+1&&i==k) cout<<'_';
else if(j<5*k-i+1) cout<<' ';
else continue;
cout<<endl;
}
for(int i=1;i<k;i++){
for(int j=1;j<=5*k;j++)
if(j==k+1||j==4*k) cout<<'|';
else if(j<4*k) cout<<' ';
else continue;
cout<<endl;
}
for(int i=1;i<=5*k;i++)
{
if(i==k+1||i==4*k) cout<<'|';
if(i<k+1||i>4*k) cout<<'_';
if(i>k+1&&i<4*k) cout<<' ';
}
cout<<endl;
for(int i=1;i<=k;i++){
for(int j=1;j<=5*k;j++)
if(j==1||j==5*k) cout<<'|';
else if(i!=k&&j!=1&&j!=5*k)
cout<<' ';
else cout<<'_';
cout<<endl;
}
}
int main(){
int t,k;
cin>>t;
while(t--){
cin>>k;
if(t!=0)
{
print(k);
cout<<endl;
}
else
print(k);
}
return 0;
}
05-11 13:40