作者avogau ( 假 装)
看板TransCSI
标题Re: [问题] 有一个程式题目
时间Fri Nov 7 13:12:03 2008
这个是增加边长检查的版本
#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