正方形 長方形 立方體

2021-08-19 11:38:55 字數 2397 閱讀 5226

description

給出正方形(square)、長方形(rectangle)、立方體(cuboid)的邊長,求周長、面積、體積。

square類只需存一條邊長,建構函式產生一條輸出,有邊長、周長、面積的函式。

rectangle類需存長和寬,若從square類派生而來,因此只需增加一條邊,建構函式產生一條輸出,有長、寬、周長、面積的函式。

cuboid類需存長寬高,若從rectangle類派生而來,因此也只增加一條邊,建構函式產生一條輸出,有長、寬、高、周長、面積、體積的函式。它的周長定義為所有稜長之和。

input

輸入分為三部分,每一部分都已乙個整數n開始,表示後面有n組測試資料。

在第一部分測試資料中,每組是乙個整數,表示正方形的邊長。

在第二部分測試資料中,每組是兩個整數,表示長方形的長和寬。

在第三部分測試資料中,每組是三個整數, 表示立方體的長和寬。

output

每組測試資料對應的輸出為兩部分,前面是建構函式的輸出,最後是輸出圖形的資訊,包括長寬高、周長、面積、體積等資訊,格式見sample;

sample input

1 4

1 3 4

1 3 4 6

sample output

construct square (4)

a square length 4, perimeter 16, area 16

*************************

construct square (3)

construct rectangle (3, 4)

a rectangle length 3, width 4, perimeter 14, area 12

*************************

construct square (3)

construct rectangle (3, 4)

construct cuboid (3, 4, 6)

a cuboid length 3, width 4, height 6, perimeter 52, area 108, volume 72

hint

int main()

cout

<< "*************************"

<< endl;

cin >> cases;

for(int i = 1; i <= cases; ++i)

cout

<< "*************************"

<< endl;

cin >> cases;

for(int i = 1; i <= cases; ++i)

}

ac**

#include 

using

namespace

std;

class square

int perimeter()

int area()

};class rectangle:public square

int perimeter()

int area()

};class cuboid:public rectangle

int perimeter()

int area()

int volume()

};int main()

cout

<< "*************************"

<< endl;

cin >> cases;

for(int i = 1; i <= cases; ++i)

cout

<< "*************************"

<< endl;

cin >> cases;

for(int i = 1; i <= cases; ++i)

}

本題注意:

1、命名雖然題目中沒有給出,但是後面main函式中有,所以在做題的時候不僅要看清楚題意,同時也要結合main函式;

2、賦值的順序千萬不要弄反了,結合題意,結合main函式,結合輸入、輸出的資料來做題;

3、乙個函式的名字和要返回的函式的名字是不能一樣的;例如int length()這樣是錯誤的,因為名字一樣,必須保證不一樣。

4、因為沒有重複名字的函式,所以呼叫函式的時候直接呼叫即可,不需要類名::函式名()

動態規劃法 入門 最大正方形 最大長方形

最大正方形 largest square 題意 現有h w個邊長為1cm的正方形瓷磚排列在一起,其中有一部分瓷磚有汙跡,求僅有乾淨瓷磚構成的最大正方形的面積。輸入 4 50 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 輸出4首先,我們設乙個dp陣列,其中dp i j ...

動態規劃處理長方形分割為正方形問題

動態規劃主要是採用遞推以及區域性結果復用來進行計算處理。比較清晰的乙個例子就是斐波拉契數列,f n f n 1 f n 2 把每次的計算結果儲存起來,就可以方便的得到下乙個資料了。這樣的規劃處理方式比直接遞迴處理要快很多。動態規劃的經典應用是揹包問題。這裡討論長方形切分為正方形的問題,每次把邊長為整...

最小長方形

題目 給定一系列2維平面點的座標 x,y 其中x和y均為整數,要求用乙個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y座標軸,點落在邊上也算是被框在內。輸入 測試輸入包含若干測試用例,每個測試用例由一系列座標組成,每對座標 x y 佔一行,其中 x 和 y 小於 1000 一對 0,0 ...