#include <stdio.h> #include <math.h> struct Triangle//定义一个结构体 { double a; double b; double c; }; double area(struct Triangle t) { double p = (t.a + t.b + t.c) / 2.0; return sqrt(p * (p - t.a) * (p - t.b) * (p - t.c)); } int main() { struct Triangle triangles[3]; int i; for (i = 0; i < 3; i++) { triangles[i].a = 2.0 * i + 2.0; triangles[i].b = i + 1.0; triangles[i].c = i + 2.0; printf("Area of triangle %d: %.4f\n", i, area(triangles[i])); } return 0; }j解释每个语句
时间: 2024-03-11 10:49:17 浏览: 90
这段代码是一个计算三角形面积的程序,下面对每个语句进行解释:
```c
#include <stdio.h>
#include <math.h>
```
导入所需的头文件。
```c
struct Triangle//定义一个结构体
{
double a;
double b;
double c;
};
```
定义一个结构体Triangle,包含三个double类型的成员a、b、c,分别表示三角形的三条边。
```c
double area(struct Triangle t)
{
double p = (t.a + t.b + t.c) / 2.0;
return sqrt(p * (p - t.a) * (p - t.b) * (p - t.c));
}
```
定义一个函数area,参数为Triangle类型的结构体t,返回值为double类型的三角形面积。函数内部先计算半周长p,然后使用海伦公式计算三角形面积。
```c
int main()
{
struct Triangle triangles[3];
int i;
for (i = 0; i < 3; i++)
{
triangles[i].a = 2.0 * i + 2.0;
triangles[i].b = i + 1.0;
triangles[i].c = i + 2.0;
printf("Area of triangle %d: %.4f\n", i, area(triangles[i]));
}
return 0;
}
```
定义主函数main,创建一个包含三个Triangle类型元素的数组triangles。使用for循环遍历数组,给每个元素的a、b、c赋值,然后调用函数area计算三角形面积并输出。最后返回0表示程序正常结束。
阅读全文