其他分享
首页 > 其他分享> > 新手C语言实现判定三角形及其面积运算

新手C语言实现判定三角形及其面积运算

作者:互联网

/*实验名称:判断三个数能否构成三角形
项目拓展:如果三边能构成三角形,求其面积
并判断其是否为直角三角形、等腰三角形或等边三角形
完成时间:2021年3月11日
*/
#include <stdio.h> //printf函数和scanf函数等函数所在头文件
#include <math.h>  //常用于数学计算,sqrt、pow等函数所在头文件

void main()
{
	double a, b, c;             //声明a,b,c三个变量以作为三角形三边
	float p, s;               //有些数学运算稍微复杂,声明中间值p以方便计算,s为面积
	printf("请输入三角形三边:\n");
	scanf_s("%lf%lf%lf", &a, &b, &c);               //输入三角形三边
	//开始运算
	p = (a + b + c) / 2;                            //防止计算复杂,以免程序崩溃,故取中间值p
	s = sqrt(p * (p - a) * (p - b) * (p - c));      //求得面积s,sqrt函数为开平方运算


	if ((a + b) > c && (a + c) > b && (b + c) > a)  //判断三角形构成条件
	//任意两边之和大于第三边                 &&:数学定义“且”,C语言称为'逻辑与'
	{
		printf("能构成三角形。\n");        //打印结果
		printf("面积为:%f\n", s);         //s为浮点型变量(float),则打印类型为%f

		//判定三角形是否为直角三角形,两边的平方之和等于第三边
		if (pow(a, 2) + pow(b, 2) == pow(c, 2)    //pow函数为幂函数运算,这里使用
			|| pow(a, 2) + pow(c, 2) == pow(b, 2) //a*a+b*b=c*c或a^2+b^2=c^2都有可能
			|| pow(b, 2) + pow(c, 2) == pow(a, 2))    //让程序无法正常运行
			printf("这是一个直角三角形。\n");   // ||:数学定义“或”,C语言中称为'逻辑或'
		else printf("这不是直角三角形。\n");  
		// ==:“等于”的意思,和&&、||一样属于一种运算符,用于如上程序中的关系比较
		//而 = 是赋值运算符,用于将一个值或一个变量赋给另一个变量

		//判定等腰三角形,只有两边相等
		if (a == b && b != c || b == c && c != a || c == a && a != b)
	    //  != :数学定义“不等于”,C语言称为'逻辑非'
			printf("这是一个等腰三角形。\n");
		else printf("这不是等腰三角形。\n");

		//判定等边三角形,三边都相等
		if (a == b == c) 
			printf("这是一个等边三角形。\n");
		else printf("这不是等边三角形。\n");
	}
	//if条件语句,只有在输入的三边能构成三角形的情况下,程序才能进行以上所有判断操作
	else printf("不能构成三角形。\n");
	
}

标签:三边,pow,等腰三角,C语言,判定,&&,printf,新手,三角形
来源: https://blog.csdn.net/m0_56046109/article/details/115395047