编程c语言输入三个边长,判断是否构成一个三角形,并求三角形的面积,然后输出三个边长

如题所述

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("请输入三个边长:");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积:%g\n",area);
printf("三角形边长:%g,%g,%g\n",a,b,c);
}
else
printf("不能构成一个三角形\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-11
#include ""
#include "math.h"
int main()
{
float a,b,c,p,s;
printf("请输入的三边长:");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a) printf("能构成三角形\n");
else
{
printf("不能构成三角形 \n");
return 0;
}
p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的三边是:%f %f %f ",a,b,c);
printf("面积是: %f \n",s);
return 0;

}本回答被网友采纳
第2个回答  2013-01-11
#include "stdio.h"
#include "Math.h"
#include "stdlib.h"
int panduan(int a[])
{
for(int i=0;i<3;i++)
{
int x=i;
for(int j=i;j<3;j++)
{
if(a[i]<a[j])x=j;
}
int k=a[i];
a[i]=a[x];
a[x]=k;
}
if((a[0]+a[1])>a[2]&&(a[0]+a[2])>a[1]&&(a[2]+a[2])>a[0])
{
if((a[0]-a[1])<a[2]&&(a[0]-a[2])<a[1]&&(a[1]-a[2])<a[0])return 1;
}
return 0;
}
double mianji(int a[])
{
double p=(a[0]+a[1]+a[2])*1.0/2;
double s=0;
s=p*(p-a[0])*(p-a[1])*(p-a[2]);
s=sqrt(s);
return s;
}
void main()
{
int a[3];
printf("请输入三角形的三边(用空格隔开): ");
scanf("%d%d%d",&a[0],&a[1],&a[2]);
int k=panduan(a);
if(k==0)
{
printf("不符合三角形条件!");
}
else
{
printf("面积为: %0.2lf\n",mianji(a));
printf("边长分别是: %d %d %d \n",a[0],a[1],a[2]);
}

}
第3个回答  2013-01-11
#include<stdio.h>#include<math.h>
main()
{
float a=0,b=0,c=0;
float x=0;

scanf("%f %f %f",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a)
{
if (a==b||a==c||b==c)
{
if (a==b&&a==c)
{
printf("Equilateral triangle!\n");
printf("area is:%f\n",a*sqrt(a*a-(a/2)*(a/2))/2);
printf("%f %f %f\n",a,b,c);
}
else
{
printf("Isosceles triangle!\n");
if (a==b)
{
printf("area is:%f\n",c*sqrt(a*a-(c/2)*(c/2))/2);
}
if (a==c)
{
printf("area is:%f\n",b*sqrt(a*a-(b/2)*(b/2))/2);
}
if (b==c)
{
printf("area is:%f\n",a*sqrt(b*b-(a/2)*(a/2))/2);
}
printf("%f %f %f\n",a,b,c);
}
}
else
{
x = (b*b-a*a+c*c)/(2*c);
printf("Arbitrary triangle!\n");
printf("area is:%f\n",sqrt(b*b-x*x)*c/2);
printf("%f %f %f\n",a,b,c);
}
}
else
{
printf("not triangle!\n");
printf("%f %f %f\n",a,b,c);
}
}
第4个回答  2013-12-19
楼上的似乎不对。if中的条件。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网