Print a Rectangle

本文介绍了一个使用C++编程语言绘制矩形和正方形的方法。通过嵌套for循环,程序能够根据用户输入的高度和宽度参数,利用字符'#'来描绘出不同大小的矩形和1平方厘米的正方形。
  • 题目
  • 代码
  • 解释
  • 总结

 

题目

Draw a rectangle which has a height of H cm and a width of W cm. Draw a 1-cm square by single '#'.

画一个高度为H cm,宽度为W cm的矩形。 用单个'#'画一个1平方厘米的正方形。

 

代码:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int h,w;
 6     cin >> h >> w;
 7     while(h!=0)
 8     {
 9         int i,j;
10         for(i=0;i<h;i++){
11             for(j=0;j<w;j++){
12                 cout << '#';
13             }
14             cout << endl;
15         }
16         cout << endl;
17         cin >> h >> w;
18     }
19     return 0;
20 }

解释:

   首先明确一下endl的作用:决定下一个输出的值要不要并在上一句中。

   分析该句中for循环。先循环一次高,然后执行内循环的行数,执行完内循环的行数再执行外循环的高。即:先从第一行开始打印,打印了内循环个#,然后执行外循环第二次,依次执行下去。

 

总结:

  循环语句的内循环和外循环的使用。

 

转载于:https://www.cnblogs.com/programing-test/p/11295797.html

解释如下代码: length_list = [list(range(32, 1025, 16)) + list(range(1056, 8193, 16))] width_list = [list(range(16, 145, 1))] length_max = max(length_list[0]) width_max = max(width_list[0]) def cut_rectangle(length, width): if length > length_max and width > width_max: rectangles = [] a_length = length_max b_length = length - length_max a_rectangle = (a_length, width) b_rectangle = (b_length, width) if b_length > length_max: a_rectangles, b_rectangles = cut_rectangle(b_length, width) rectangles.extend(a_rectangles) rectangles.extend(b_rectangles) else: rectangles.append(b_rectangle) if a_length > width_max: new_a_rectangles = [a_rectangle] while new_a_rectangles: a_rectangles = new_a_rectangles new_a_rectangles = [] for rectangle in a_rectangles: a_width = rectangle[1] if a_width > width_max: half_width = math.ceil(a_width / 2) if half_width > width_max: new_a_rectangle = (a_length, half_width) b_length = rectangle[0] b_rectangle = (b_length, a_width - half_width) if b_length > length_max: a_rectangles, b_rectangles = cut_rectangle(b_length, a_width - half_width) rectangles.extend(a_rectangles) rectangles.extend(b_rectangles) else: rectangles.append(b_rectangle) new_a_rectangles.append(new_a_rectangle) else: new_a_rectangles.append(rectangle) else: rectangles.append(rectangle) else: rectangles.append(a_rectangle) return rectangles, [] else: return [(length, width)], [] length = int(input("请输入被切割矩形的长度值:")) width = int(input("请输入被切割矩形宽度值:")) rectangles, _ = cut_rectangle(length, width) print("全部切割后的矩形尺寸的列表:") for rectangle in rectangles: print(f"{rectangle[0]} x {rectangle[1]}")
03-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值