c语言 判断三角形 周长 面积

从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输入;如不能,输出不能构成三角形的信息。
构成三角形的条件为:三角形任意两边的和大于第三边时,构成三角形。面积公式使用海伦公式。
作业,求帮助,麻烦尽快,谢谢
边长分别为f1,f2,f3,面积为fArea

#include "stdio.h"
#include "math.h"
void main()
{
unsigned char a,b,c,max;
double s,cosab;
puts("请输入三条边长:");
scanf("%d %d %d",&a,&b,&c);
//半段能否构成三角形
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
if((a+b+c)<=2*max)
{
printf("%d,%d,%d不能构成三角形\n",a,b,c);
getchar();
return;
}
cosab=1.0*(a*a+b*b-c*c)/(2*a*b);
s=0.5*a*b*sqrt(1-cosab*cosab);
printf("%d,%d,%d构成三角形的面积为%f\n",a,b,c,s);
getchar();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-10
从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积;如不能,则输出不能构成三角形的信息。
从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积;如不能,则输出不能构成三角形的信息。
构成三角形的条件是:三角形的任意两边之和大于第三边时,构成三角形。
面积计算公式:
其中,f1, f2, f3是三角形的三条边长,t=(f1+f2+f3)/2。计算一个数的平方根可用函数sqrt,该函数是数学库函数,需要在程序开头加上#include “math.h”

#include<iostream>
#include<cmath>
using namespace std;

int main(){

double a,b,c,s,perimeter,p; //a,b,c是三边,s是面积,perimeter是周长;

cin>>a>>b>>c;

if(((a+b)>c) && ((b+c)>a )&& ((a+c)>b))
{
perimeter=a+b+c;
p=perimeter/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"三角形的周长是: "<<perimeter<<endl;
cout<<"三角形的面积是: "<<s<<endl;

}
else
cout<<"不能构成三角形,回家玩吧。…………*_*"<<endl;

return 0;

}

程序代码:

#include<iostream>
#include<cmath>
using namespace std;
void main()
{
double a,b,c,s,per,t; //a,b,c是三边,s是面积,per是周长;
cin>>a>>b>>c;
if(((a+b)>c) && ((b+c)>a )&& ((a+c)>b))

{
per=a+b+c;
t=per/2.0;
s=sqrt(t*(t-a)*(t-b)*(t-c));
cout<<"三角形的周长是: "<<per<<endl;
cout<<"三角形的面积是: "<<s<<endl;

}
else
cerr<<"不能构成三角形"<<endl;
相似回答