c语言编程计算三角形的面积
题目描述给出三角形的三边长,计算三角形的面积输入输入三角形的三边,边长为浮点型小数,和书上例题不同,这里的边长需要手动输入。边长的值需要符合构成三角形的条件:任意两边之和...
题目描述
给出三角形的三边长,计算三角形的面积
输入
输入三角形的三边,边长为浮点型小数,和书上例题不同,这里的边长需要手动输入。边长的值需要符合构成三角形的条件:任意两边之和大于第三边。
输出
三角形面积。小数点后保留两位。
样例输入
3.67 5.43 6.21
样例输出
9.90
提示
边长要能够构成三角形,这里涉及到平方根函数,可引入#include <math.h>,在程序中用sqrt()计算平方根。可参照可参看谭浩强第四版例题3.4 展开
给出三角形的三边长,计算三角形的面积
输入
输入三角形的三边,边长为浮点型小数,和书上例题不同,这里的边长需要手动输入。边长的值需要符合构成三角形的条件:任意两边之和大于第三边。
输出
三角形面积。小数点后保留两位。
样例输入
3.67 5.43 6.21
样例输出
9.90
提示
边长要能够构成三角形,这里涉及到平方根函数,可引入#include <math.h>,在程序中用sqrt()计算平方根。可参照可参看谭浩强第四版例题3.4 展开
4个回答
推荐于2017-12-16
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
float s,a,b,c,p;
printf("请输入三角形的三边,以空格隔开");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&c+b>a)
{p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
s=sqrt(p);
printf("%f",s);}
else printf("你输入的三边,不能构成三角形");
return 0;
}
试试~看看是不是你想要的
#include<math.h>
int main()
{
float s,a,b,c,p;
printf("请输入三角形的三边,以空格隔开");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&c+b>a)
{p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
s=sqrt(p);
printf("%f",s);}
else printf("你输入的三边,不能构成三角形");
return 0;
}
试试~看看是不是你想要的
展开全部
1、加上头文件#include <math.h>
2、你的程序的输入部分scanf("%lfa=3%lfb=4%lfc=45", &a, &b, &ang_c);应该改为
scanf("%lf%lf%lf", &a, &b, &ang_c);,scanf函数中的格式串一般不可以添加除了格式串之外 的,比如a=3 b=4 c=45之类的
3、你用的面积公式是S = 1/2 * a * b * sin(a与b的夹角),sin(ang_c * PI / 180.0)这个部分我不理解 你的夹角怎么求的。如果你是输入三条边的长度,你可以使用海伦公式
S = 【(P* (P - a) * (P - b) * ( P - c))】的平方根 ,其中P为三角形的周长P = a + b + c
2、你的程序的输入部分scanf("%lfa=3%lfb=4%lfc=45", &a, &b, &ang_c);应该改为
scanf("%lf%lf%lf", &a, &b, &ang_c);,scanf函数中的格式串一般不可以添加除了格式串之外 的,比如a=3 b=4 c=45之类的
3、你用的面积公式是S = 1/2 * a * b * sin(a与b的夹角),sin(ang_c * PI / 180.0)这个部分我不理解 你的夹角怎么求的。如果你是输入三条边的长度,你可以使用海伦公式
S = 【(P* (P - a) * (P - b) * ( P - c))】的平方根 ,其中P为三角形的周长P = a + b + c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sin函数是数学公式,他的头文件你没有写
加上#include <math.h>即可
把double sin(double x);这个去掉,这个sin是头文件中的库函数,不必要自己编写
加上#include <math.h>即可
把double sin(double x);这个去掉,这个sin是头文件中的库函数,不必要自己编写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-06
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,m,s;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a)
printf("不能构成三角形");
else
{
m=(a+b+c)/2;
s=sqrt((m-a)*(m-b)*(m-c));
printf("三角形的面积%lf",s);
};
}
这个应该可以算,
#include<math.h>
void main()
{
double a,b,c,m,s;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a)
printf("不能构成三角形");
else
{
m=(a+b+c)/2;
s=sqrt((m-a)*(m-b)*(m-c));
printf("三角形的面积%lf",s);
};
}
这个应该可以算,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询