题目描述
逻辑运算符!!
1.if(a==b==c) 这是不对的!!!
“==”是逻辑运算符,挨着算,结果只有0和1:a==b,真的,得出1,1==c假的,得出0,
所以不能进入输出是等边三角形的循环!!
逻辑和赋值要弄清,别再用错逻辑,出现a<b<c或者a==b==c;
2.swap要会用,要知道a,b,c怎么比,怎么换
样例
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
double a,b,c;
cin>>a>>b>>c;
if(a<b)swap(a,b);
if(a<c)swap(a,c);
if(b<c)swap(b,c);
if(a>=(b+c)) {printf("NAO FORMA TRIANGULO\n");}
else
{
if(a*a==b*b+c*c)printf("TRIANGULO RETANGULO\n");
if(a*a>b*b+c*c)printf("TRIANGULO OBTUSANGULO\n");
if(a*a<b*b+c*c)printf("TRIANGULO ACUTANGULO\n");
if(a==b&&a==c&&b==c)printf("TRIANGULO EQUILATERO\n");
else if(((a==b)&&(a!=c))||((a==c)&&(a!=b))||((b==c)&&(b!=a)))printf("TRIANGULO ISOSCELES\n");
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla