C语言求三角形的面积
首先在项目中新建两个文件:
1、main.c源代码文件
2、triangleAreaDemo.h头文件
- main.c源代码文件的代码如下:
#include <stdio.h> //standard input output.head标准输入输出头文件;
#include "triangleAreaDemo.h" //自定义的头文件;
//求三角形面积
/*
题目要求:
1、在控制台输入三角形的三条边;
2、如果构成三角形,则返回三角形的面积;
3、如果不构成三角形,则提示不构成三角形,
并再次提示输入三角形的三条边;
*/
int main() {
// 程序开始;
start();
return 0;
}
- triangleAreaDemo.h头文件的代码如下:
#include <stdio.h> //standard input output.head标准输入输出头文件;
#include <math.h> //C语言内置的math.h数学头文件,里面包含了一系列的数学函数;
void start();//开始函数
double triangleArea(double, double, double);//求三角形面积函数
/*
实现思路:
使用海伦公式求出三角形的面积;
1、定义area、p、a、b、c等变量,
分别是三角形的:
面积、周长和三条边;
2、使用scanf()函数在控制台输入三条边的长度;
3、如果任意两条边的长度大于第三条边,
则使用数学中的海伦公式求出三角形的面积;
使用sqrt()函数。
4、如果三角形的任意两条边小于第三条边的长度,
则通过递归再次调用本身,
继续让其用户输入三角形的三条边;
*/
// 程序开始
void start() {
// 定义三角形的面积和三角形的三条边
double area, a, b, c;
printf("请输入三角形的三条边:");
// 在控制台输入三角形的三条边
scanf("%lf %lf %lf", &a, &b, &c );
// 三角形的判断:三角形的任意两条边大于第三条边的长度;
if (a + b > c && a + c > b && b + c > a) {
// 满足条件
area = triangleArea(a, b, c);
printf("三角形的面积是:%lf", area);
} else {
// 不满足条件
printf("\n**********不满足三角形的要求**********\n\n");
// 使用递归,调用自身,重新让其用户输入;
start();
}
}
/*
海伦公式:
1、得到三角形的半周长
2、通过(((半周长-三角形的各条边)的相乘)*半周长)的开方
得到三角形的面积;
*/
/*
函数功能:求三角形的面积;
函数参数:三角形的三条边;
函数返回:返回三角形的面积;
*/
double triangleArea(double a, double b, double c) {
// 定义三角形的面积和周长
double area, p;
// 得到三角形的半周长
p = (a + b + c) / 2;
// 得到三角形的面积
area = sqrt(p * (p - a) * (p - b) * (p - c));
return area;
}