大一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