考核內容:
寫一個程序,可以獲取從鍵盤上輸入的的三個數,並能夠判斷是否可以以這三個數字作為邊長來構成一個三角形,如果可以的話,輸出此三角形的周長及面積;
答案:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
double b1,b2,b3;
double p;
bool tool(double b1,double b2,double b3)
{
if((b1+b2>b3)&&(b1+b3>b2)&&(b2+b3>b1))
return true;
else
return false;
}
int main()
{
printf("友情提示:結果均會保留三位小數\n") ;
printf("請依次輸入三邊長:\n") ;
scanf("%lf",&b1);
rewind(stdin);
scanf("%lf",&b2);
rewind(stdin);
scanf("%lf",&b3);
rewind(stdin);
p=(b1+b2+b3)/(2);
if((b1>0)&&(b2>0)&&(b3>0))
{
if(tool(b1,b2,b3))
{
if(fabs(sqrt(p*(p-b1)*(p-b2)*(p-b3))-0.01)<=0.001)
{
printf("三邊雖能構成三角形,但運算數據太小,本程序不支持運算\n");
}
else
{
printf("三角形的周長為:%.3lf\n",(b1+b2+b3));
printf("三角形的面積為:%.3lf\n",sqrt(p*(p-b1)*(p-b2)*(p-b3)));
}
}
else
printf("您輸入的三個邊長不滿足構成三角形的條件\n");
}
else
printf("您輸入的三個邊長不滿足構成三角形的條件\n");
return 0;
}
博主能力有限,代碼若有數學bug,或邏輯bug,請指出錯誤,狠狠地打臉博主 (~ ̄(OO) ̄)ブ