[英]How can i make the rectangle print empty?
我正在尝试打印空心矩形。 但是它不会正确打印出来。 这是我到目前为止所拥有的。 它打印,但不打印空心矩形。 它使50和1之间的随机整数。
void randomRectangle(){
srand(time(NULL));
int counter = 0;
int counter2 = 0;
int height = rand() % 50;
int width = rand() % 50;
printf("Now printng a rectangle.\n");
printf("Height = %d\n" "Width = %d\n", height, width);
while(counter < height){
counter++;
counter2 = 0;
while(counter2 < width){
if (((counter2 > 1)&&(counter2 < height))&&((counter > 1)&&(counter < height))){
printf(" ");
}
else if((counter2 != 0)&&(counter != 0)){
printf("* ");
}
counter2++;
}
printf("\n");
}
counter2适用于宽度,但是您正在将其与高度进行比较,这是适合您的解决方案的循环:
while(counter < height)
{
counter2 = 0;
while(counter2 < width)
{
if ( ((counter > 0)&&(counter < (height-1))) && ((counter2 > 0)&&(counter2 < (width-1))) )
printf(" ");
else
printf("* ");
counter2++;
}
counter++;
printf("\n");
}
注意-这不是最佳解决方案,但是如果您尝试根据样本进行一些练习-可以
您的代码还有另一个问题。 矩形的高度和宽度将在0到49之间。rand()将返回0到RAND_MAX之间的数字。 以下校正将产生1到50之间的随机数。
int height = rand() % 50 + 1;
int width = rand() % 50 + 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.