将上述代码改为c语言
时间: 2024-10-10 18:06:20 浏览: 35
Viterbi译码的C语言源代码(原创)
在C语言中,由于缺乏现代C++的命名空间和类,我们需要稍微调整结构。以下是将`Area.h`和`Area.c`转换为C语言的版本:
**Area.h**
```c
// Area.h
#ifndef AREA_H
#define AREA_H
double circ(double radius);
double rect(double length, double width);
double trap(double a, double b, double height);
#endif // AREA_H
```
**Area.c**
```c
// Area.c
#include <math.h> // 引入math库用于π和pow()
double circ(double radius) {
return M_PI * pow(radius, 2);
}
double rect(double length, double width) {
return length * width;
}
double trap(double a, double b, double height) {
return (a + b) * height / 2;
}
```
在主程序`main.c`中,你会这样使用这些函数:
```c
// main.c
#include "Area.h"
#include <stdio.h>
int main() {
double radius = 5.0;
double length = 10.0;
double width = 6.0;
double base_a = 4.0;
double base_b = 8.0;
double height = 3.0;
printf("Circle area: %.2f\n", circ(radius));
printf("Rectangle area: %.2f\n", rect(length, width));
printf("Trapezoid area: %.2f\n", trap(base_a, base_b, height));
return 0;
}
```
编译这个C代码时,你需要链接数学库(通常默认包含),例如在gcc中可以这样编译:
```sh
gcc -o main main.c -lm
```
阅读全文