今天也要來練習APCS的題目啦,今天的題目是105年10月29日的實作題第一題,三角形辨別,那我們開始吧!
若無法構成三角形時輸出「No」;
若構成鈍角三角形時輸出「Obtuse」;
若直角三角形時輸出「Right」;
若銳角三角形時輸出「Acute」。
(這裡方便大家複製貼上,所以我把這放上來)
a=input() #輸入三邊
list=a.split() #轉為清單,並用空格分開
for i in range(0,3): #將清單內所有元素轉為整數形式
list[i]=int(list[i])
list.sort() #排序(由小到大)
A=list[0] #將ABC代入三角形的三邊長
B=list[1]
C=list[2]
if A+B <= C: #如果兩邊和小於等於最長邊,無法形成三角形
print('No')
elif A**2+B**2 < C**2: #如果兩邊平方和小於最長邊平方,形成鈍角三角形
print('Obtuse')
elif A**2+B**2 == C**2: #如果兩邊平方和等於最長邊平方,形成直角三角形
print('Right')
elif A**2+B**2 > C**2: #如果兩邊平方和大於最長邊平方,形成銳角三角形
print('Acute')
解釋我有放在旁邊了,那這底下的elif需要注意一下,因為如果if不成立才會跑到elif,那沒辦法形成三角形當然也不可能會是銳角鈍角等。
那還有前幾天忘記把連結附上了,裡面是APCS幾次考試有公佈出來的題目(大部分不會公布),那大家也可以練習看看其他題目。還有觀念題的部分,如果會C語言也可以去看看裡面的題目。
https://apcs.csie.ntnu.edu.tw/index.php/questionstypes/previousexam/