Description
Give you the width and height of the rectangle,darw it.
Input
Input contains a number of test cases.For each case ,there are two numbers n and m (0 < n,m < 75)indicate the width and height of the rectangle.Iuput ends of EOF.
Output
For each case,you should draw a rectangle with the width and height giving in the input.
after each case, you should a blank line.
after each case, you should a blank line.
Sample Input
3 2
Sample Output
+---+ | | | | +---+
解题思路:
输入nm,其实实际的字符是n+2,m+2.用一个二维数组,对每行每列讨论下,就行了。
但是要注意空格,换行。
代码:
#include<stdio.h>
#include<string.h>
int main()
{
int n,m,i,j;
char a[101][101];
while(scanf("%d%d",&n,&m)!=EOF)
{
for(j=1;j<=n+2;j++)
{
if(j==1||j==n+2)
{
a[1][j]='+';
a[m+2][j]='+';
}
else
{
a[1][j]='-';
a[m+2][j]='-';
}
}
for(i=1;i<=m+2;i++)
{
if(i==1||i==m+2)
{a[i][1]='+';
a[i][n+2]='+';
}
else
{a[i][1]='|';
a[i][n+2]='|';
}
}
for(i=2;i<m+2;i++)
{
for(j=2;j<n+2;j++)
{
a[i][j]=' ';
}
}
for(i=1;i<=m+2;i++)
{
for(j=1;j<=n+2;j++)
{
printf("%c",a[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
#include<string.h>
int main()
{
int n,m,i,j;
char a[101][101];
while(scanf("%d%d",&n,&m)!=EOF)
{
for(j=1;j<=n+2;j++)
{
if(j==1||j==n+2)
{
a[1][j]='+';
a[m+2][j]='+';
}
else
{
a[1][j]='-';
a[m+2][j]='-';
}
}
for(i=1;i<=m+2;i++)
{
if(i==1||i==m+2)
{a[i][1]='+';
a[i][n+2]='+';
}
else
{a[i][1]='|';
a[i][n+2]='|';
}
}
for(i=2;i<m+2;i++)
{
for(j=2;j<n+2;j++)
{
a[i][j]=' ';
}
}
for(i=1;i<=m+2;i++)
{
for(j=1;j<=n+2;j++)
{
printf("%c",a[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}