C語言程式:計算透過隧道的體積
假設有一個隧道,高度為41,寬度很大。我們還有一系列箱子,包含長度、寬度和高度。如果箱子的高度嚴格小於隧道高度,則箱子可以穿過隧道。我們需要找到可以透過隧道的箱子的總體積。體積計算公式為:長度 * 寬度 * 高度。我們有一個數字N,以及一個N行三列的二維陣列。
例如,如果輸入為N = 4,boxes = [[9,5,20],[3,7,15],[8,15,41],[6,3,42]],則輸出為900和315。我們可以透過前兩個箱子,它們的體積分別為9 * 5 * 20 = 900和3 * 7 * 15 = 315。其他箱子的高度不符合要求。
為了解決這個問題,我們將遵循以下步驟:
定義Box資料型別,包含長度、寬度和高度
定義一個函式volume(),它將接收一個box作為引數,
返回box.length * box.width * box.height
定義一個函式lower(),它將接收一個box作為引數,
如果box.height < 41則返回true,否則返回false
在主方法中執行以下操作:
初始化i := 0,當i < N時,更新(i遞增1),執行以下操作:
如果lower(boxes[i])為true,則
顯示volume(boxes[i])
示例
讓我們看下面的實現來更好地理解:
#include <stdio.h>
#define N 4
struct Box{
int length, width, height;
};
int volume(struct Box box){
return box.length*box.width*box.height;
}
int lower(struct Box box){
return box.height < 41;
}
int solve(struct Box boxes[]){
for (int i = 0; i < N; i++)
if (lower(boxes[i]))
printf("%d
", volume(boxes[i]));
}
int main(){
struct Box boxes[N] = {{9,5,20},{3,7,15},{8,15,41},{6,3,42}};
solve(boxes);
}
輸入
4, {{9,5,20},{3,7,15},{8,15,41},{6,3,42}}輸出
900 315
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP