三角形的判断

首先对三角形的三边关系有基本的了解;

基本:三角形任意两边和大于第三边,任意两边差小于第三边。

1、直角三角形:存在有两边的平方和等于第三边的平方。(a2=b2+c2)

2、钝角三角形:存在最长边的平方大于其他两边的平方和。(a2>b2+c2)

3、锐角三角形:存在任意两边的平方和大于第三边的平方。(a2+b2>c2)

4、等边三角形:三边相等。(a=b=c)

接着对基本的逻辑运算符的了解;

1、&&  逻辑与(AND):a&&b(如果a和b都是真,则结果为真,否则为假)

2、||  逻辑或(OR):a||b(如果a和b有一个以上为真,则结果为真,二者为假时,都为假)

3、!逻辑非(NOT):!a(如果a为假,则!a为真,如果a为真,则!a为假) 

最后是对if语句实现选择结构的了解; 

简单来讲,if()括号里面是关系表达式逻辑表达式数值表达式,如果括和里面判断为真,则运算下去,如果判断为假则去到else,运算下去。

这里用的是if语句的第三种形式(嵌套

三角形的c语言代码;

直角三角形;

a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b  //用||来判断,因为a,b,c直接输入,不判断那个是斜边,则满足其中一个即可为真。(小心不要用到‘=’,这不是赋值,是等同于“==”)

钝角三角形;

a*a>b*b+c*c||b*b>a*a+c*c||c*c>a*a+b*b  //一样用||来判断,满足其中一个即可为真。

锐角三角形;

a*a<b*b+c*c&&b*b<a*a+c*c&&c*c<a*a+b*b&&a!=b||a!=c||b!=c  //用&&来判断,因为为任意两边的平方和都大于第三边的平方和,所以要同时成立。接着等边三角形也属于锐角三角形,为了区分,让其三边不相等(a!=b||a!=c||b!=c)。

等边三角形;

a==b&&a==c   //三边相等,注意!!!不能写成a==b==c,这样是因为==从左到右运算,也就是先a==b判断得到1或者0,这1或者0就会与c判断(1或者0==c),这两个是不等的,为假,则会去到else(最后一个else可有可无,因为不会来到这)

最后输入时,注意!!!5,5,5 和 5,5,5输入是不同的,“scanf”是要对应符号的,否则是运算不了的。

#include<stdio.h>
int main()
{
	int a, b, c;
	scanf("%d,%d,%d", &a, &b, &c);
	if (a + b > c && a + c > b && b + c > a)
	{
		if (a * a == b * b + c * c || b * b == a * a + c * c || c * c == a * a + b * b)
			printf("直角三角形");
		else if (a * a > b * b + c * c || b * b > a * a + c * c || c * c > a * a + b * b)
			printf("钝角三角形");
		else if (a * a < b * b + c * c && b * b < a * a + c * c && c * c < a * a + b * b&&a!=b||a!=c||b!=c)
			printf("锐角三角形");
		else if (a == b && a == c)
			printf("等边三角形");
		else
			printf("不存在");

	}
	else
		printf("三角形不存在");
}

小白一个,如果有错希望指出来,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值