大一C語言學習筆記(11)---編程篇--寫一個程序,可以獲取從鍵盤上輸入的的三個數,並能夠判斷是否可以以這三個數字作為邊長來構成一個三角形,如果可以的話,輸出此三角形的周長及面積,要求 0 bug;


考核內容:

寫一個程序,可以獲取從鍵盤上輸入的的三個數,並能夠判斷是否可以以這三個數字作為邊長來構成一個三角形,如果可以的話,輸出此三角形的周長及面積;

答案:

#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) ̄)ブ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM