本关任务:用c语言输入三角形的三条边a,b,c。如果构成三角形,那么就计算三角形的面积area和周长s并输出,否则输出Not triangle。要求使用3个自定义的函数
时间: 2024-05-13 14:15:31 浏览: 24
好的,我来给你讲解一下如何实现这个任务。这个任务需要用到三个自定义函数,分别用来判断是否是三角形、计算面积和计算周长。
1. 判断是否是三角形
判断一个三角形是否合法的条件是:任意两边之和大于第三边。因此我们可以定义一个函数来判断是否是三角形,函数的输入参数为三角形的三条边,返回值为布尔类型。代码如下:
```c
bool isTriangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
return true;
} else {
return false;
}
}
```
2. 计算面积
根据海伦公式,三角形的面积可以根据三条边计算得出。因此我们可以定义一个函数来计算三角形的面积,输入参数为三条边,返回值为面积。代码如下:
```c
double calcArea(double a, double b, double c) {
double p = (a + b + c) / 2; // 计算半周长
double area = sqrt(p * (p - a) * (p - b) * (p - c)); // 根据海伦公式计算面积
return area;
}
```
3. 计算周长
计算周长比较简单,只需要将三条边加起来即可。因此我们可以定义一个函数来计算三角形的周长,输入参数为三条边,返回值为周长。代码如下:
```c
double calcPerimeter(double a, double b, double c) {
double perimeter = a + b + c;
return perimeter;
}
```
最后,我们可以在主函数中调用这三个函数来实现任务要求。代码如下:
```c
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool isTriangle(double a, double b, double c);
double calcArea(double a, double b, double c);
double calcPerimeter(double a, double b, double c);
int main() {
double a, b, c;
printf("请输入三角形的三条边:\n");
scanf("%lf %lf %lf", &a, &b, &c);
if (isTriangle(a, b, c)) {
double area = calcArea(a, b, c);
double perimeter = calcPerimeter(a, b, c);
printf("面积为:%.2lf,周长为:%.2lf\n", area, perimeter);
} else {
printf("Not triangle\n");
}
return 0;
}
bool isTriangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
return true;
} else {
return false;
}
}
double calcArea(double a, double b, double c) {
double p = (a + b + c) / 2;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
return area;
}
double calcPerimeter(double a, double b, double c) {
double perimeter = a + b + c;
return perimeter;
}
```
希望这个程序能够帮到你,有不懂的地方可以随时问我哦!
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)