c语言中输入三角形三边长,求三角形面积?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中输入三角形三边长,求三角形面积?相关的知识,希望对你有一定的参考价值。
首先数学上知道三角形三边长求面积的公式为:已知三角形的三边分别是a、b、c,
先算出周长的一半s=1/2(a+b+c)
则该三角形面积S=根号[s(s-a)(s-b)(s-c)]
这个公式叫海伦——秦九昭公式
然后用C语言:
#include
<stdio.h>
#include
<math.h>
main()
int
a,b,c;
double
s1,s2;
scanf("%d%d%d",
&a,
&b,&c);
s1=(a+b+c)/2;
s2=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%d";s2);
参考技术A
c语言中输入三角形三边长,求三角形面积公式如下:
#include
#include
public void main()
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
double area,preimeter;
preimeter=a+b+c;
double p=preimeter/2;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("area = %.2lf, preimeter = %.2lf\\n",area,preimeter);
getchar(); getchar();
c语言编程:已知三角形的三边长,求其面积。
假设输入的三边能构成三角形,三角形的面积公式为:
其中s=(a+b+c)/2
正确答案是
#include#includeint main()
int Area,a,b,c,s;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
s=(a+b+c)/2;
Area=pow(s*(s-a)*(s-b)*(s-c),1.0/2);
printf("%d",Area);
return 0;
我试了一下把pow(s*(s-a)*(s-b)*(s-c),1.0/2)中的1.0改成1,无论怎么输入都显示结果是1。我想问问什么一定要在这里写1.0呢?而且在正确的答案中输入三个333,结果是, 这又是为什么呢?求大神详细解答!!!
#include<stdio.h>
#include<math.h>
voidmain()
floata,b,c,s,p;
printf("请输入三角形的三边长:");
scanf("%f,%f,%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形面积=%6.2f\\n",s);
扩展资料
java基础求三角形的面积
publicclassE201_01_01三角形面积
publicstaticvoidmain(String[]args)
Scannerscan=newScanner(System.in);
System.out.println("输入三角形的三边");
inta=scan.nextByte();
intb=scan.nextByte();
intc=scan.nextByte();
floats=(a+b+c)/2f;
floatS=(float)Math.sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&b+c>a&&a+c>b)
System.out.println(S);
else
System.out.println("不成立三角形");
参考技术A 这个涉及到关于int 和float。1.0改成1 1是整型 1/2也得到整型,结果为0而不是0.5 所以任何非0数的0次方都为1 ,写1.0 就是浮点型了 因此结果为0.5 ,你把所有int 改为float 问题可以解决 参考技术B 这个程序你少考虑了几点一个是area s应该是小数,也就是float或者double型,因为这里可能是小数
输入后,需要判断着三个数能不能构成三角形,条件是任何两边之和大于第三边。不构成三角形怎么求面积?????
海伦公式求平方根,不用pow,有一个函数sqrt就是干这个的 参考技术C c语言编程:已知三角形的三边长,求其面积。
这个问题我知道
推荐您使用“赛思QQ陌生人推广小助手 ”
不用加好友 直接发消息
日引1万独立IP 绝对没有问题 参考技术D 因为你定义的Area和s是整形变量啊,所以输出默认就是整型,将原来的Area和s改为float或者double都可以
以上是关于c语言中输入三角形三边长,求三角形面积?的主要内容,如果未能解决你的问题,请参考以下文章