用C有没有更简单的写法
时间: 2024-12-28 19:34:46 浏览: 3
在C语言中,对于计算三角形重心的简单写法,由于C标准库并没有提供直接计算几何中心的函数,所以上述代码已经是相对简洁的方式了。但是,如果你想进一步简化,可以考虑使用结构体表示二维点,然后通过结构体数组来存储顶点,这样代码会稍微整洁一些。这里是一个使用结构体的例子:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
float x, y; // 定义二维点
} Point;
void calculateCentroid(Point vertices[3], Point* centroid) {
centroid->x = (vertices[0].x + vertices[1].x + vertices[2].x) / 3.0;
centroid->y = (vertices[0].y + vertices[1].y + vertices[2].y) / 3.0;
}
int main() {
Point triangle[3];
for (int i = 0; i < 3; i++) {
printf("请输入顶点%d的坐标(x y):", i+1);
scanf("%f %f", &triangle[i].x, &triangle[i].y);
}
Point centroid;
calculateCentroid(triangle, ¢roid);
printf("三角形重心坐标为: (%.2f, %.2f)\n", centroid.x, centroid.y);
return 0;
}
```
阅读全文