#29494: 請問哪裡寫錯了?


alan1109135@gmail.com (袁袁)

學校 : 國立南投高級中學
編號 : 180388
來源 : [140.125.86.167]
最後登入時間 :
2024-11-14 15:02:04
c294. APCS-2016-1029-1三角形辨別 -- 2016年10月APCS | From: [223.141.73.15] | 發表日期 : 2022-03-06 16:40

a,b,c = map(int,input().split())
no = 0
obt = 0
right = 0
acute = 0
big = 0
ans = []

if a + b <= c:
    no = 1
elif (a*a + b*b) < c*c:
    obt = 1
elif (a*a + b*b) == c*c:
    right = 1
elif (a*a + b*b) > c*c:
    acute = 1

ans = sorted([a,b,c])
print(ans[0],ans[1],ans[2],sep=" ",end = "\n")
ans.clear
if no == 1:
    print("No")
elif obt == 1:
    print("Obtuse")
elif right == 1:
    print("Right")
else:
    print("Acute")


有些可以通過但有些不行,找不太到哪裡出錯了,想請各位高手幫我看看(也希望能知道這樣寫有哪裡需要改進),謝謝!
 
#29495: Re:請問哪裡寫錯了?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
c294. APCS-2016-1029-1三角形辨別 -- 2016年10月APCS | From: [27.247.9.93] | 發表日期 : 2022-03-06 19:55

a,b,c = map(int,input().split())
no = 0
obt = 0
right = 0
acute = 0
big = 0
ans = []

if a + b <= c:
    no = 1
elif (a*a + b*b) < c*c:
    obt = 1
elif (a*a + b*b) == c*c:
    right = 1
elif (a*a + b*b) > c*c:
    acute = 1

ans = sorted([a,b,c])
print(ans[0],ans[1],ans[2],sep=" ",end = "\n")
ans.clear
if no == 1:
    print("No")
elif obt == 1:
    print("Obtuse")
elif right == 1:
    print("Right")
else:
    print("Acute")


有些可以通過但有些不行,找不太到哪裡出錯了,想請各位高手幫我看看(也希望能知道這樣寫有哪裡需要改進),謝謝!


c不一定是最長的,所以你要先找出三個數哪一個最長

 
ZeroJudge Forum