C++题目描述输入三个整数以这三个数为边长判断是否构成三角形;若不能输出no若构成三角形进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形分别输出ruijiaozhijiaodunjiao输入格式三个整数输出格式一个字符串输入输出样例样例 1输入样例 复制3 4 5输出样例 复制zhijiao
解题思路: 根据三角形的性质,任意两边之和大于第三边,即条件为a+b>c、a+c>b、b+c>a。 首先判断是否构成三角形,若不能则输出"no"。 若能构成三角形,进一步判断三角形的类型:
- 若三边平方和等于最长边的平方,则为直角三角形,输出"zhijiao";
- 若三边平方和大于最长边的平方,则为锐角三角形,输出"ruijiao";
- 若三边平方和小于最长边的平方,则为钝角三角形,输出"dunjiao"。
C++代码实现:
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
if (a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) {
cout << "zhijiao" << endl;
} else if (a*a + b*b > c*c && a*a + c*c > b*b && b*b + c*c > a*a) {
cout << "ruijiao" << endl;
} else {
cout << "dunjiao" << endl;
}
} else {
cout << "no" << endl;
}
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iSiI 著作权归作者所有。请勿转载和采集!