输出三个数 如果这三个数能组成三角形则判断这是什么类型的三角形 若不行则重新输入
效果如图 , 如有帮助给个采纳谢谢
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
double a, b, c;
cout << "请输入三个数:";
cin >> a >> b >> c;
while (a <= 0 || b <= 0 || c <= 0) {
cout << "边长必须大于0,请重新输入:";
cin >> a >> b >> c;
}
if (a + b > c && a + c > b && b + c > a) { // 判断是否是三角形
if (a == b && a == c && b == c) {
cout << "这是一个等边三角形" << endl;
} else if (a == b || a == c || b == c) {
cout << "这是一个等腰三角形" << endl;
} else if (a*a+b*b == c*c || a*a+c*c == b*b || b*b+c*c == a*a) {
cout << "这是一个直角三角形" << endl;
} else {
cout << "这是一个普通三角形" << endl;
}
} else {
cout << "这不是一个三角形,请重新输入:" << endl;
}
return 0;
}
# 问题标题: 判断并重新输入无法组成三角形的组合
# 问题内容: 请帮我写一个程序,输出三个数字,并根据这三个数字能否组成三角形来判断它们的类型。如果无法组成三角形,请提示错误并重新输入三个数字。提示格式为:请分别输入三个数字,用空格隔开。例如:1 2 3
while True:
s = input("请分别输入三个数字,用空格隔开:")
nums = list(map(int, s.strip().split()))
if len(nums) != 3:
print("输入格式不正确!")
continue
a, b, c = sorted(nums)
if a + b > c:
if a == b == c:
print("这是一个等边三角形!")
elif a == b or b == c:
print("这是一个等腰三角形!")
else:
print("这是一个普通三角形!")
break
else:
print("无法组成三角形,请重新输入!")
continue