题目大意:输出图形

AC代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string>
#include<math.h>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<iostream>
#include<algorithm>
using namespace std;

void solve(int w,int h)
{
	int i,j;
	for(i=0;i<=h+1;i++)
	{
		for(j=0;j<=w+1;j++)
		{
			if(i==0&&(j==0||j==w+1)||i==h+1&&(j==0||j==w+1))  //四个角
				printf("+");
			else if(j==0||j==w+1)  //左右边
				printf("|");
			else if(i==0||i==h+1)  //上下边
				printf("-");
			else
				printf(" ");
		}
		printf("\n");
	}
	return ;
}

int main()
{
	int n,m;
	while(~scanf("%d%d",&n,&m))
	{
		solve(n,m);
		printf("\n");
	}
	return 0;
}