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;
}
posted @ 2019-01-19 20:06  ChunhaoMo  阅读(166)  评论(0)    收藏  举报