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("不成立三角形");
}
}
}
一个是area s应该是小数,也就是float或者double型,因为这里可能是小数
输入后,需要判断着三个数能不能构成三角形,条件是任何两边之和大于第三边。不构成三角形怎么求面积?????
海伦公式求平方根,不用pow,有一个函数sqrt就是干这个的
这个问题我知道
推荐您使用“赛思QQ陌生人推广小助手 ”
不用加好友 直接发消息
日引1万独立IP 绝对没有问题