题目
编写一个程序,输入两个整数,作为栅格的高度和宽度,然后用“+”、“-”和“|”这三个字符来打印一个栅格。
输入
输入只有一行,包括两个整数,分别为栅格的高度和宽度。
输出
输出相应的栅格。
样例输入
3 2
样例输出
+-+-+
| | |
+-+-+
| | |
+-+-+
| | |
+-+-+
解题思路
按照输入的行列和输出规律解题即可。
易错点
由于本题是输出“栅格”,也就是可以类比为网格,当网格的高度或者宽度有一个0或者有为负数的时候,不可以输出栅格(包括任何一条框线)。(我的答案起初便是此处有错,64分)
代码
#include<stdio.h>
int main()
{
int m,n,i,j;
scanf("%d %d",&m,&n);
if (m!=0 && n!=0)
{
m = m*2+1;
for (i=1;i<=m;i++)
{
if (i%2==1)//奇数行
{
for (j=1;j<=n;j++)
printf("+-");
printf("+");
}
else
{
for (j=1;j<=(2*n+1);j++)
{
if (j%2==1)
printf("|");
else
printf(" ");
}
}
if (i!=m)
printf("\n");
}
}
return 0;
}