我做了一部分,但似乎无法获得整个矩形。有人可以指出我在做什么错吗?
这是我的代码:
printf("Enter the length and width of the rectangle : ");
scanf("%d%d",&length,&width);
printf("\n%c", 218);
for(i=1;i<=length;i++)
{
printf("%c",196);
}
printf("%c",191);
for(j=1;j<=width;j++)
{
printf("\n");
printf("%c",179);
}
printf("\n");
printf("%c", 192);
for(i=1;i<=length;i++)
{
printf("%c",196);
}
printf("%c", 217);
return 0;
答案 0 :(得分:0)
您仅打印第一列,而不是第二列。 一种方法是在整个矩形上循环并检查您是否在边缘。
#include <stdio.h>
int main()
{
int length, width, i, j;
printf("Enter the length and width of the rectangle : ");
scanf("%d%d",&length, &width);
for(i=0;i<width;i++)
{
for(j=0;j<length;j++)
{
if( j==0 || j==length-1 || i==0 || i==width-1 )
{
printf("%c", '*');
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
答案 1 :(得分:0)
在您的中间循环中,您只打印一个垂直条,然后转到下一行。
您需要打印一次条形,然后添加另一个循环以打印空格,然后再打印一个条形:
for(j=1;j<=width;j++)
{
printf("\n");
printf("%c",179);
for (i=1;i<=length;i++) {
printf(" ");
}
printf("%c",179);
}
答案 2 :(得分:0)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int length, width,i,j;
printf("Enter the length and width of the rectangle : ");
scanf("%d%d",&length,&width);
printf("\n%c", 218);
for(i=1;i<=length;i++)
{
printf("%c",196);
}
printf("%c",191);
for(j=1;j<=width;j++)
{
printf("\n");
printf("%c",179);
for (i=1;i<=length;i++) {
printf(" ");
}
printf("%c",179);
}
printf("\n");
printf("%c", 192);
for(i=1;i<=length;i++)
{
printf("%c",196);
}
printf("%c", 217);
return 0;
}