一个三角形键盘输入三边值,先判断任何两边大于第三边,再进行三角形面积。
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;
double p,s;
cout<<"Please input abc:";
scanf("%f %f %f", a,b,c);
if (a<0||b<0||c<0)
{
printf("error");
return 1;
}
p=(double)(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("The area is: %f",s);
return 0;
}
scanf("%f %f %f", a,b,c);
->
scanf("%f %f %f", &a,&b,&c);
//输入a,b,c
if(a+b > c && a +c > b && b + c > a)
//计算面积
else
//报错
根据海伦公式,获取三边,判断一下是否能为三角形然后根据公式求即可
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
/*
海伦公式:三边长之和的一半与各边取差值,三差值与周长的一半的乘积开方即面积
*/
int a,b,c,d;//三边长及周长的一半
float s;//面积
printf("请输入三条边,例如:3 4 5\n");
reinput:
scanf("%d%d%d",&a,&b,&c);
if(a + b < c || a + c < b || b + c < a)
goto reinput;
d = (a+b+c)/2;
s = sqrt(d*(d-a)*(d-b)*(d-c));
printf("边长为%d,%d,%d的三角形面积是%0.2f",a,b,c,s);
return 0;
}