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

题意

描述

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

输入

多组测试

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

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

输出

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

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

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

输入样例 1

2
1
2
输出样例 1

分析

没什么难的就是看你细不细心
“不要输出多余的空行或者行末空格”
就是末尾不能有空格而且每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;
}

猜你喜欢

转载自www.cnblogs.com/mch5201314/p/10293082.html