如何理解zyBooks上的代码4程序:画一个半箭头

时间:2018-10-04 03:19:58

标签: c

此程序输出由矩形和直角三角形组成的向下箭头。箭头尺寸由用户指定的箭头基准高度,箭头基准宽度和箭头宽度定义。

(1)修改给定程序以使用循环来输出高度为arrowBaseHeight的箭头基。 (1分)

(2)修改给定程序以使用循环来输出宽度arrowBaseWidth的箭头基。使用嵌套循环,其中,内循环绘制*,外循环迭代次数等于箭头底的高度。 (1分)

(3)修改给定程序以使用循环来输出宽度arrowHeadWidth的箭头。使用嵌套循环,其中,内循环绘制*,外循环迭代次数等于箭头的高度。 (2分)

(4)修改给定程序,使其仅接受大于箭头基准宽度的箭头宽度。使用循环继续提示用户输入箭头的宽度,直到该值大于箭头的基本宽度。 (1分)

这些是我要我做的,只是我不明白这里是它开头的代码

#include <stdio.h>

int main(void) {
    int arrowBaseHeight;
    int arrowBaseWidth;
    int arrowHeadWidth;

    printf("Enter arrow base height:\n");
    scanf("%d", &arrowBaseHeight);

    printf("Enter arrow base width:\n");
    scanf("%d", &arrowBaseWidth);

    printf("Enter arrow head width:\n");
    scanf("%d", &arrowHeadWidth);
    printf("\n");

    // Draw arrow base (height = 3, width = 2)
    printf( "**\n");
    printf( "**\n");
    printf( "**\n");

    // Draw arrow head (width = 4)
    printf( "****\n");
    printf( "***\n");
    printf( "**\n");
    printf( "*\n");

    return 0;
}

What Zybooks wants it too look like minus the blue

1 个答案:

答案 0 :(得分:0)

print ('Enter arrow base height:')
arrow_base_height = int(input())

print ('Enter arrow base width:')
arrow_base_width = int(input())

print ('Enter arrow head width:')
arrow_head_width = int(input())


while arrow_head_width <= arrow_base_width:
    print ('Enter arrow head width:')
    arrow_head_width = int(input())
print('')

for base_height in range(arrow_base_height):
  for base_width in range(arrow_base_width):
    print('*', end='')
  print('')

for head_width in range(arrow_head_width):
  for head in range(arrow_head_width - head_width):
    print('*', end='')
  print('')