c语言求三角形面积

如果我不自定义函数能做这道题么?我写了个编程 大虾帮我看下
#include"stdio.h"
#include"math.h"
main()
{
int a,b,c;
float s,temp;
scanf("%d%d%d",&a,&b,&c);
s=(x+y+z)/2;
temp=sqrt(s*(s-x)*(s-y)*(s-z));
printf("%f\n",temp);
getch();
}
下面打错了 x y z 应该改成abc的

建议求三角形的面积前先判断下能不能构成三角形!

下面修改的程序如下:

#include"stdio.h"

#include"math.h"

main()

{

float a,b,c;

float s,temp;

printf("请依次输入三角形的三边:");

scanf("%f%f%f",&a,&b,&c);

if(((a+b)>c)&&((a+c)>b)&&((b+c)>a)&&((a-b)<c)&&((a-c)<b)&&((b-c)<a))

{

 s=(a+b+c)/2;

    temp=sqrt(s*(s-a)*(s-b)*(s-c));

 printf("三角形的面积为:\t");

printf("%3.4f\n",temp);

}

else

printf("不能构建三角形!");

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-28
海伦公式这样写可以的。我只能提点建议。三角形三边未必都是整数,定义成float a,b,c;实用性大点。另外最后那个getch();貌似没有实际意义。我猜测你是为了让程序计算完后不自动关闭是么?其实没什么用。。。
#include"stdio.h"
#include"math.h"
void main()
{
float a,b,c,s,temp;
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
temp=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f\n",temp);
}
注意小错误。
第2个回答  2018-04-04

简单的输入三角形的底和高求面积的呈现如下:
#include "stdio.h"

void main()
{
float a = 0;
float h = 0;
printf("请输入三角形的底边长:");
scanf("%f",&a);
while (a <= 0)
{
printf("您输入的值不正确,请重新输入:");
scanf("%f",&a);
}
printf("请输入三角形的高:");
scanf("%f",&h);
while (h <= 0)
{
printf("您输入的值不正确,请重新输入:");
scanf("%f",&h);
}
printf("三角形的面积为:%f\n",a*h/2);
}

1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

本回答被网友采纳
第3个回答  2019-10-02
#include
"stdio.h"
/*文件包含,输入、输出函数*/
#include
"math.h"
/*文件包含,数学函数*/
void
main
()
/*主函数定义*/
{
float
a,
b,
c,
l,
area;
/*定义局部变量*/
printf("请输入三角形三条边的边长:");
scanf("%f%f%f",&a,
&b,
&c);
/*输入三边的边长*/
l
=
(a+b+c)/2.0;
area=
sqrt(l*(l-a)*(l-b)*(l-c));
printf("该三角形的面积是:%6.2f\n",
area);
}
第4个回答  2020-10-17
相似回答