13、<简单>输入三个整数,以这三个数为边长,判断是否构成三角形;若不能输出no若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形
#include iostream using namespace std; int main() { int a, b, c; cout 请输入三条边的长度数字用空格隔开; cin a b c; // 找出最长边 int maxn a; if (b maxn) maxn b; if (c maxn) maxn c; int sum_short; if (maxn a) sum_short b c; else if (maxn b) sum_short a c; else sum_short a b; // 判断无法构成三角形 if (sum_short maxn) { cout 无法构成三角形输出no endl; return 0; } // 计算平方用long long防止溢出 long long sq_max (long long)maxn * maxn; long long s1, s2; if (maxn a) { s1 (long long)b * b; s2 (long long)c * c; } else if (maxn b) { s1 (long long)a * a; s2 (long long)c * c; } else { s1 (long long)a * a; s2 (long long)b * b; } long long sum_sq s1 s2; if (sum_sq sq_max) cout 该三角形为锐角三角形输出ruijiao endl; else if (sum_sq sq_max) cout 该三角形为直角三角形输出zhijiao endl; else cout 该三角形为钝角三角形输出dunjiao endl; return 0; }#include iostream using namespace std; int main() { int a, b, c; cout 三角形判断程序可连续输入输入非数字结束程序 endl; cout 请输入三条边长空格隔开一组输完按回车重复输入多组 endl; // cin读取失败时自动退出循环输入字母/符号结束 while (cin a b c) { int maxn a; if (b maxn) maxn b; if (c maxn) maxn c; int sum_short; if (maxn a) sum_short b c; else if (maxn b) sum_short a c; else sum_short a b; if (sum_short maxn) { cout 结果no endl; } else { long long sq_max (long long)maxn * maxn; long long s1, s2; if (maxn a) { s1 (long long)b * b; s2 (long long)c * c; } else if (maxn b) { s1 (long long)a * a; s2 (long long)c * c; } else { s1 (long long)a * a; s2 (long long)b * b; } long long sum_sq s1 s2; if (sum_sq sq_max) cout 结果ruijiao endl; else if (sum_sq sq_max) cout 结果zhijiao endl; else cout 结果dunjiao endl; } cout ----------------------------------------- endl; cout 继续输入下一组三边长度 endl; } cout 输入非数字程序结束 endl; return 0; }