分析问题
输入三个连长,判断其是否为三角形,若是基角形,输出它的类型
两个短边的平方和等于一个长边的平方时为直角三角形。
两个短边的平方和小于一个长边的平方时为钝角三角形。
两个短边的平方和大于一个长边的平方时为锐角三角形。
建立模型
输入三个数a b c
对a b c三个数从小到大进行排序
如果a大于b 交换 ab
如果a大于c 交换 ac
如果b大于c 交换 bc
//判断是否为三角形
如果两条短边ab的和大于长边c:
如果ab两个短边的平方和等于一个长边的平方时为直角三角形。
输出zhijiao
否则如果ab两个短边的平方和小于一个长边的平方时为钝角三角形。
输出dunjiao
否则如果ab两个短边的平方和大于一个长边的平方时为锐角三角形。
输出ruijiao
否则
输出no //不是三角形
编写代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int 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){//如果是三角形
if((a*a+b*b) == c*c){
cout<<"zhijiao";
}else if((a*a+b*b) < c*c){
cout<<"dunjiao";
}else if((a*a+b*b) > c*c){
cout<<"ruijiao";
}
}else{//不是三角形
cout<<"no";
}
return 0;
}