C语言:求三角形的面积

根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和类型(等腰,等边,直角,普通)。按要求写程序。要求用简单的C语言写!!!

Then Somebody's dream had come true now.

/*
根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和类型
(等腰,等边,直角,普通)。按要求写程序。要求用简单的C语言写!!!
*/

#include<stdio.h>
#include<math.h>
main()
{
double a,b,c,s,x;

while(scanf("%lf%lf%lf",&a,&b,&c))//按ctrl+z停止数据输入
{
if(a+b>c&&a+c>b&&b+c>a)
{
x=(a+b+c)/2;
s=sqrt(x*(x-a)*(x-b)*(x-c));//三角形求面积公式

//一下三个if语句把a,b,c从小到大排序
if(a>b)
{
x=a;
a=b;
b=x;
}

if(b>c)
{
x=b;
b=c;
c=x;
}

if(a>b)
{
x=a;
a=b;
b=x;
}

if(a==b&&b==c)
{
printf("%f %f %f是等边三角形,面积为:%f\n",a,b,c,s);
}
else if(a==b||b==c)
{
if(a*a+b*b-c*c<1e-3)//两边的平方和 和第三边平方差小于0.001就认为是直接三角形
{
printf("%f %f %f是等腰直角三角形,面积为:%f\n",a,b,c,s);
}
else
{
printf("%f %f %f是等腰三角形,面积为:%f\n",a,b,c,s);
}
}
else if(a*a+b*b-c*c<1e-3)
{
printf("%f %f %f是直角三角形,面积为:%f\n",a,b,c,s);
}
else
{
printf("%f %f %f是普通三角形,面积为:%f\n",a,b,c,s);
}
}// end if(a+b>c&&a+c>b&&b+c>a)

else
{
printf("%f %f %f不能组成三角形!\n",a,b,c);
}
}
}

/*
测试数据:
1 2 3
2.1 2.1 2.1
1 3.3 3.3
1 1 1.4141421356
3 4 5
6 7 8
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-18
你这个10分想?。。。我只能说Somebody always has a dream
第2个回答  2009-03-18
给,已经编译运行确认:
#include<conio.h>
#include<stdio.h>
#include<math.h>

int main()
{
float a,b,c;
float area,s;

printf("请输入三角行的三边:");
scanf("%f %f %f",&a,&b,&c);
if(a>0&&b>0&&c>0)
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("\n这三边能组成三角形\n");

s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为: %f\n",area);

if(((a*a+b*b)==c*c)||((a*a+c*c)==b*b)||((c*c+b*b)==a*a))
printf("这是直接三角形\n");
else if((a==b)&&(a==c)&&(b==c))
printf("这是等边三角形\n");
else if((a==b)||(a==c)||(b==c))
printf("这是等腰三角形\n");
else printf("这是普通三角形\n");
}
else
printf("\n这三边不能组成三角形\n");
}
else
printf("\n输入错误!");

getch();
return 1;
}
第3个回答  2009-03-18
已编译确认
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
int a[3];
int i;
int p;
double s;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
if((a[0]+a[1]>a[2])
&&(a[2]+a[1]>a[0])
&&(a[0]+a[2]>a[1]))
{
if((a[0]-a[1]<a[2])
&&(a[1]-a[2]<a[0])
&&(a[2]-a[0]<a[1]))
{
if((a[0]>0)&&(a[1]>0)&&(a[2]>0))
{
}
}
}
else
{
printf("The three number is not right");
exit(1);
}
p= (a[0]+a[1]+a[2])/2;
s=sqrt(p*(p-a[0])*(p-a[1])*(p-a[2]));
printf("The result is %f",s);

}
第4个回答  2009-03-19
Then I want to say that my dream isn't only for the 10 point 呵呵。
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,d,s;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(a==b||b==c||c==a)
{if(a==b&&b==c) printf("this is a dengbiansanjiaoxing\n");
else printf("this is a dengyao sanjiaoxing\n");
}
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("this is zhijiao\n");
else printf("yibansanjiaoxing\n");
d=(a+b+c)/2;
s=sqrt(d*(d-a)*(d-b)*(d-c));
printf("%f\n",s);
}
}
else printf("bushi sanjiaoxing ") ;
}

我也是新手呀,我上大一,我们刚教C语言哈.我刚刚做了判断一个三角形的类型,在我的题目基础上加个求面积的,就是你的答案了.做了这题用了1个多小时啊,晕死.可能都是新手,我做的题目逻辑比较简单,应该你看得懂吧.你直接复制就可以运行了,我不是为了10分,我不在乎什么分数,只是觉得我总在百度上面得到别人的帮助,希望自己也能帮到别人的忙.可以的话,我们可以互相学习哦。
谢谢欣赏!
thanks for your appreciation.

参考资料:http://user.qzone.qq.com/67806596

c语言中怎么算三角形的面积?
1. 利用海伦公式:首先计算三角形的半周长p,然后使用公式A = sqrt(p * (p - a) * (p - b) * (p - c))计算面积,其中a、b、c分别为三角形的三条边长。2. 利用余弦定理:根据余弦定理,有cos(θ) = (b² + c² - a²) \/ (2 * b * c),其中θ为夹角A的...

怎样用C语言求三角形的面积公式?
C语言:输入三角形三条边的边长,并输出面积:1、首先打开我们的DEV C++软件,点击“新建源代码”。2、在编辑页面输入以下代码:include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt((p-a)*(p-...

c语言求三角形面积的公式是?
1、公式:area = sqrt(s*(s-a)*(s-b)*(s-c))2、代码:printf("依次输入a,b,c(空格识别一个数):");scanf("%f%f%f,",&a,&b,&c);s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c));printf("面积为:%f",area);} ...

c语言中如果要计算三角形的面积,怎么写?
计算三角形面积的c语言程序如下:计算三角形面积语言程序:include #include int main()double a,b,c,S,area;printf(根据三角形的三边长计算它的面积n);printf(输入边长a:);scanf(%lf,&a);printf(输入边长b:);scanf(%lf,&b);printf(输入边长c:);scanf(%lf,&c)。S=...

C语言中如何求三角形面积
参考代码:include <stdio.h> int main(){float b, h, s;printf("请输入三角形的 底 高\\n");scanf("%f %f", &b, &h);s=0.5*b*h;printf("三角形的面积为: %f\\n", s);return 0;}

c语言中如何已知三角形三边求面积?
c语言已知三角形三边求面积如下:输入:3,4,5,输出:area=6.00,#include<stdio.h>,include<math.h> intmain(void){ floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)\/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%.2f",area);return 0;} ...

...三角形的三条边(假设能构成三角形),输出三角形的面积。
"这个三角形面积:%f\\n",area);} else {printf("不是等腰三角形!\\n"); printf("这个三角形面积%f\\n",area);}} else {printf("不能构成三角形,三边这差不行:!\\n");}} else {printf("不能构成三角形,三边之和不行!\\n");}} 看哈要的不 ...

如何用C语言计算三角形的面积?
以下是一个用C语言编写的程序,输入三角形的三边长,计算并输出三角形的面积:include <stdio.h>#include <math.h>int main() {double a, b, c, s, area;printf("请输入三角形的三边长:\\n");scanf("%lf %lf %lf", &a, &b, &c);s = (a + b + c) \/ 2.0;area = sqrt(s...

用c语言编程,怎么计算三角形面积呢?
C语言程序,计算三角形的面积程序如下:c#include<stdio.h>,#define PI3.14159,int main(),double base,height,area;printf(请输入三角形的底边长:);scanf(%lf,&base);printf(请输入三角形的高:);scanf(%lf,&height);area=0.5*base* height;printf(三角形的面积为:%.2...

c语言求三角形面积!!
*(s-c))其中等号右边的小s为三边和的一半,C程序:include <stdio.h> include <stdlib.h> include <math.h> void main(){ float a,b,c,sh,s;scanf("%f f f",&a,&b,&c);sh=(a+b+c)\/2;s=sqrt(sh*(sh-a)*(sh-b)*(sh-c));printf("%f\\n",s);system("pause");...

相似回答