#10617: 請問這錯在哪裡?要怎麼修改?


s26302 (unknown)

學校 : 桃園市私立復旦高級中學
編號 : 54189
來源 : [203.71.2.66]
最後登入時間 :
2016-06-15 11:25:45
d507. 三角形的判斷 -- 板橋高中教學題 | From: [175.181.142.9] | 發表日期 : 2016-01-07 20:19

#include <iostream>
using namespace std;

int main() {
int a=0;
int b=0;
int c=0;

cin>>a>> b>> c;
if(a*a==b*b+c*c or b*b==c*c+a*a or c*c==a*a+b*b)
{
cout <<"right triangle"<<endl;}

else if(a*a>b*b+c*c or b*b>c*c+a*a or c*c>a*a+b*b)
{
cout <<"obtuse triangle"<<endl;}
else if(a*a<b*b+c*c or b*b<c*c+a*a or c*c<a*a+b*b)
{
cout <<"acute triangle"<<endl;}

return 0;
}

本人是初學者喔謝謝

 
#10621: Re:請問這錯在哪裡?要怎麼修改?


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [106.64.64.73]
最後登入時間 :
2024-01-07 20:24:26
d507. 三角形的判斷 -- 板橋高中教學題 | From: [219.68.155.168] | 發表日期 : 2016-01-09 01:23

#include
using namespace std;

int main() {
int a=0;
int b=0;
int c=0;

cin>>a>> b>> c;
if(a*a==b*b+c*c or b*b==c*c+a*a or c*c==a*a+b*b)
{
cout <<"right triangle"<<endl;}

else if(a*a>b*b+c*c or b*b>c*c+a*a or c*c>a*a+b*b)
{
cout <<"obtuse triangle"<<endl;}
else if(a*a<b*b+c*c or b*b<c*c+a*a or c*c<a*a+b*b)
{
cout <<"acute triangle"<<endl;}

return 0;
}

本人是初學者喔謝謝

可能出題者出個"13 12 5","-1 -1 -1"或是"1 1 2"

"13 12 5"應該輸出"right triangle"

"-1 -1 -1"與"1 1 2"則不應該輸出"acute triangle"、"right triangle"以及"obtuse triangle"(不是三角形)

 
#11342: Re:請問這錯在哪裡?要怎麼修改?


gary771016 (MrCat)

學校 : 不指定學校
編號 : 58998
來源 : [61.216.147.127]
最後登入時間 :
2017-08-01 16:33:43
d507. 三角形的判斷 -- 板橋高中教學題 | From: [122.146.71.32] | 發表日期 : 2016-09-06 14:31

#include
using namespace std;

int main() {
int a=0;
int b=0;
int c=0;

cin>>a>> b>> c;
if(a*a==b*b+c*c or b*b==c*c+a*a or c*c==a*a+b*b)
{
cout <<"right triangle"<<endl;}

else if(a*a>b*b+c*c or b*b>c*c+a*a or c*c>a*a+b*b)
{
cout <<"obtuse triangle"<<endl;}
else if(a*a<b*b+c*c or b*b<c*c+a*a or c*c<a*a+b*b)
{
cout <<"acute triangle"<<endl;}

return 0;
}

本人是初學者喔謝謝

順序要由小到大排 所以在使用這套if之前 要先排好(利用if 和 交換技巧 但記得有些情況要交換兩次喔~)
不會有負數 題目有寫~

 
ZeroJudge Forum