這個是增加邊長檢查的版本
#include <stdio.h>
int main()
{
float e[3] , sum = 0 , square_sum = 0 ;
int i,max=0;
for(i = 0 ; i < 3 ; ) {
printf("輸入第 %d 邊的邊長:" , i+1 );
scanf("%f" , e+i );
if( e[i] <= 0 ) {
fprintf( stderr , "輸入錯誤!\n");
continue;
}
max = e[max] > e[i]? max : i ;
square_sum += e[i]*e[i];
sum += e[i];
i++;
}
if( e[max] * 2 >= sum )
printf("不是三角形\n");
else if( e[max] * e[max] * 2 > square_sum )
printf("鈍角三角形\n");
else if( e[max] * e[max] * 2 < square_sum )
printf("銳角三角形\n");
else
printf("直角三角形\n");
}
這個是C++的版本
#include <iostream>
using std::cout;
using std::cerr;
using std::cin;
using std::endl;
int main()
{
float e[3] , sum = 0 , square_sum = 0 ;
int max = 0;
for( int i = 0 ; i < 3 ; ) {
cout<<"輸入第 "<< i+1 <<" 邊的邊長:";
cin>>e[i];
if( e[i] <= 0 ) {
cerr<<"輸入錯誤!"<<endl;
continue;
}
max = e[max] > e[i]? max : i ;
square_sum += e[i]*e[i];
sum += e[i];
i++;
}
if( e[max] * 2 >= sum )
cout<<"不是三角形"<<endl;
else if( e[max] * e[max] * 2 > square_sum )
cout<<"鈍角三角形"<<endl;
else if( e[max] * e[max] * 2 < square_sum )
cout<<"銳角三角形"<<endl;
else
cout<<"直角三角形"<<endl;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.74.171