用完整代码用C语言求三角形周长面积
时间: 2023-04-11 15:01:05 浏览: 175
以下是用C语言求三角形周长和面积的完整代码:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, s, area;
printf("请输入三角形的三条边长:\n");
scanf("%f %f %f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
// 计算周长
float perimeter = a + b + c;
printf("三角形的周长为:%.2f\n", perimeter);
// 计算面积
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%.2f\n", area);
} else {
printf("输入的三条边无法构成三角形!\n");
}
return 0;
}
相关问题
c语言求三角形周长和面积 不运用海伦公式
在C语言中,计算三角形的周长通常比较简单,只需要将三边相加即可。对于非直角三角形,计算面积可以利用毕达哥拉斯定理,即c² = a² + b²,然后通过这个等式解出最长边c,再根据面积公式A = 0.5 * a * b (a和b分别为其他两边),来避免直接使用海伦公式。
以下是示例代码:
```c
#include <stdio.h>
#include <math.h>
double get_perimeter(double a, double b, double c) {
return a + b + c;
}
double get_area(double a, double b, double c) {
if (a <= 0 || b <= 0 || c <= 0) {
printf("错误:边长不能为负或零.\n");
return 0;
}
if (a + b > c && a + c > b && b + c > a) { // 验证三角形构成条件
double s = (a + b + c) / 2; // 半周长
double area = sqrt(s * (s - a) * (s - b) * (s - c)); // 根据毕达哥拉斯定理计算面积
return area;
} else {
printf("错误:这不是一个有效的三角形.\n");
return 0;
}
}
int main() {
double a, b, c;
printf("请输入三角形的三条边长:\na = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
double perimeter = get_perimeter(a, b, c);
double area = get_area(a, b, c);
printf("三角形的周长是:%f\n", perimeter);
printf("三角形的面积是:%f\n", area);
return 0;
}
```
c语言输入三角形周长 求面积
在 C 语言中,输入一个三角形的三边长度(a、b 和 c),可以按照以下步骤计算其面积:
1. 首先,需要从用户那里获取三个边长的输入。这通常通过 `scanf` 函数完成,例如:
```c
float a, b, c;
printf("请输入三角形的三条边长:");
scanf("%f %f %f", &a, &b, &c);
```
2. 接着,判断这三个边长是否能构成有效的三角形。如果任意两边之和大于第三边,则这个三角形存在。可以使用条件语句检查这一点:
```c
if (a + b > c && a + c > b && b + c > a) {
// 继续计算
} else {
printf("这不是一个有效的三角形!\n");
return; // 结束程序
}
```
3. 计算半周长,这是海伦公式的一部分:
```c
float s = (a + b + c) / 2;
```
4. 使用海伦公式计算三角形面积,公式为:
```c
float area = sqrt(s * (s - a) * (s - b) * (s - c));
```
其中 `sqrt` 函数用于求平方根,但在 C 标准库中并没有现成的函数,你需要引入头文件 `math.h` 并使用 `sqrtf` 函数。
5. 最后,打印出面积结果:
```c
printf("三角形的面积是:%.2f\n", area);
```
完整代码示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, s, area;
printf("请输入三角形的三条边长:");
scanf("%f %f %f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2;
area = sqrtf(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积是:%.2f\n", area);
} else {
printf("这不是一个有效的三角形!\n");
}
return 0;
}
```
阅读全文
相关推荐















