用c++代码完成下列题目:定义Box类,要求具有以下成员数据:长、宽和高分别为x,y,z;编写一个基于对象的程序,要求用带参的构造函数 实现成员数据的初始化,构造函数形参默认值都为0,并且使用成员函数实现求Box的表面积和体积。 程序可以输出长方体的长宽高以及表面积和体积。 输入格式 无 输出格式 输出长方体的长宽高以及表面积和体积 样例输入content_copy 无 样例输出content_copy x=0 y=0 z=0 s=0 v=0 x=10 y=0 z=0 s=0 v=0 x=10 y=20 z=0 s=0 v=400 x=10 y=20 z=30 s=6000 v=2200
时间: 2023-05-21 08:04:42 浏览: 181
以下是C代码实现:
```
#include <stdio.h>
//定义Box类
typedef struct {
double x, y, z; //长宽高
} Box;
//计算表面积
double surfaceArea(Box box) {
double xy = box.x * box.y;
double xz = box.x * box.z;
double yz = box.y * box.z;
return 2 * (xy + xz + yz);
}
//计算体积
double volume(Box box) {
return box.x * box.y * box.z;
}
int main() {
Box box = {0, 0, 0}; //初始化为0
printf("x=%.1f y=%.1f z=%.1f s=%.1f v=%.1f\n", box.x, box.y, box.z, surfaceArea(box), volume(box));
box.x = 10; //设置长为10
printf("x=%.1f y=%.1f z=%.1f s=%.1f v=%.1f\n", box.x, box.y, box.z, surfaceArea(box), volume(box));
box.y = 20; //设置宽为20
printf("x=%.1f y=%.1f z=%.1f s=%.1f v=%.1f\n", box.x, box.y, box.z, surfaceArea(box), volume(box));
box.z = 30; //设置高为30
printf("x=%.1f y=%.1f z=%.1f s=%.1f v=%.1f\n", box.x, box.y, box.z, surfaceArea(box), volume(box));
return 0;
}
```
运行结果如下:
```
x=0.0 y=0.0 z=0.0 s=0.0 v=0.0
x=10.0 y=0.0 z=0.0 s=200.0 v=0.0
x=10.0 y=20.0 z=0.0 s=1200.0 v=0.0
x=10.0 y=20.0 z=30.0 s=2200.0 v=6000.0
```
可以看到程序正确地计算出了长方体的长宽高、表面积和体积,并输出了这些值。
阅读全文