不需要任何内置函数,零基础写法
先排序,在这里使用了比较好理解的选择排序(selection sort);
然后进行一系列判断操作。
时间复杂度 O(n^2)
C++ 代码
#include <iostream>
using namespace std;
int main(){
float a[3];
cin >> a[0] >> a[1] >> a[2];
for(int i=0; i<3; i++){ //排序
float temp = a[i];
for(int j=i+1; j<3; j++){
if(a[j]>temp) {
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
float A = a[0], b = a[1], c = a[2];
if(A>=(b+c)) cout << "NAO FORMA TRIANGULO"<< endl;
else{
if(A*A==b*b+c*c) cout << "TRIANGULO RETANGULO"<< endl;
if(A*A>b*b+c*c) cout << "TRIANGULO OBTUSANGULO"<< endl;
if(A*A<b*b+c*c) cout << "TRIANGULO ACUTANGULO"<< endl;
if(A==b&&b==c) cout << "TRIANGULO EQUILATERO"<< endl;
else if(A==b||b==c) cout << "TRIANGULO ISOSCELES"<< endl; \\不存在a=c
}
return 0;
}