写一个程序判断,用户输入的三个整数(表示三边长)是否能够构成一个三角形。要求,如果不能则抛出异常,显示异常信息a,b,c不能构成三角形,如果输入的边长中有负数显示异常信息三条边不能为负数,如果可以构成则显示三角形的三个边长
时间: 2023-06-03 14:07:30 浏览: 61
可以构成三角形的条件是:任意两边之和大于第三边。
以下是程序示例:
```
try:
a = int(input("请输入第一条边长: "))
b = int(input("请输入第二条边长: "))
c = int(input("请输入第三条边长: "))
if a <= 0 or b <= 0 or c <= 0:
raise Exception("三条边不能为负数")
if a + b > c and a + c > b and b + c > a:
print("可以构成三角形,三边长为:", a, b, c)
else:
raise Exception("{}, {}, {} 不能构成三角形".format(a, b, c))
except Exception as e:
print("异常信息:", e)
```
如果用户输入的三个数中有一个或多个为负数,程序会抛出异常并显示异常信息"三条边不能为负数";如果不能构成三角形,程序会抛出异常并显示异常信息"a, b, c不能构成三角形";如果可以构成三角形,程序会显示三角形的三个边长。
相关问题
写一个程序判断用户输入的三个整数表示三边长是否能构成一个三角形要求如果不能则抛出异常显示异常信息ABC不能构成三角形如果输入的边长中有复数显示异常信息三条边不能为负数如果可以构成则显示三角形的三个边长
好的,您的问题已经记录下来了。以下是我的回答:
程序如下(用Python实现):
```python
import math
class TriangleError(Exception):
pass
def is_triangle(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
raise TriangleError("边长不能为负数")
if a + b <= c or a + c <= b or b + c <= a:
raise TriangleError("无法构成三角形")
return True
try:
a = float(input("请输入第一条边的长度:"))
b = float(input("请输入第二条边的长度:"))
c = float(input("请输入第三条边的长度:"))
is_triangle(a, b, c)
print("可以构成三角形,三个边长分别为:", a, b, c)
except TriangleError as e:
print("发生异常:", e)
except ValueError as e:
print("输入的不是数字:", e)
```
程序会提示用户输入三个数字作为三角形的三条边长,然后会调用 `is_triangle` 函数判断是否能构成三角形。如果边长为复数,将抛出异常。如果三个边长无法构成三角形,也将抛出异常。如果能构成三角形,程序将打印出三个边长。
这里还定义了一个自定义的异常类 `TriangleError`,以便在出现边长为负数或无法构成三角形的情况下抛出异常。如果按照要求展示异常信息,应该采用这个自定义异常类(并在异常信息中显示“ABC不能构成三角形”)。
编写一个c语言程序,输入三个整数,判断他们是否能构成三角形。若能构成三角形,
则输出三角形的类型(等边、等腰、一般三角形),否则输出“不能构成三角形”。
以下是可以判断三角形类型的 C 语言程序:
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
if (a == b && b == c) {
printf("等边三角形\n");
} else if (a == b || b == c || a == c) {
printf("等腰三角形\n");
} else {
printf("一般三角形\n");
}
} else {
printf("不能构成三角形\n");
}
return 0;
}