输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积,否则输出Error.如果这三条边能构成一个三角#include#includeint main(){\x05double a,b,c,p,s;\x05scanf("%lf%lf%lf",&a,&b,&c);\x05if(a+b>c,b+c>a,c+a>b){p=(a+b+c)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 17:33:16
输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积,否则输出Error.如果这三条边能构成一个三角#include#includeint main(){\x05double a,b,c,p,s;\x05scanf("%lf%lf%lf",&a,&b,&c);\x05if(a+b>c,b+c>a,c+a>b){p=(a+b+c)
输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积,否则输出Error.如果这三条边能构成一个三角
#include
#include
int main()
{
\x05double a,b,c,p,s;
\x05scanf("%lf%lf%lf",&a,&b,&c);
\x05if(a+b>c,b+c>a,c+a>b)
{p=(a+b+c)/2,
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f",s);}
\x05else
\x05{printf("error");}
\x05return 0;
}我这么做为什么错了,比如我输入1 3 4结果为什么不是errow
输入三角形的3条边a,b,c,如果能构成一个三角形,则输出面积,否则输出Error.如果这三条边能构成一个三角#include#includeint main(){\x05double a,b,c,p,s;\x05scanf("%lf%lf%lf",&a,&b,&c);\x05if(a+b>c,b+c>a,c+a>b){p=(a+b+c)
语句if(a+b>c,b+c>a,c+a>b)可能有问题,
改为if((a+b>c)and(b+c>a)and(c+a>b))试一试.
三个不等式同时成立,满足条件,计算面积,否则输出errow.
其他语句我没仔细分析.供参考.
因为1 3 4能构成一个三角形
if(a+b>c,b+c>a,c+a>b),当你输入1,3,4时,结果是TRUE。
因为a+b>c,b+c>a,c+a>b中间用的是豆号分隔,计算结果是最后一句的结果,也就是说a+b>c,b+c>a没起作用,这里相当于if(c+a>b)。
可以把","改为"&&":if(a+b>c&&b+c>a&&c+a>b),
if(a+b>c,b+c>a,c+a>b),输入1,3,4时,是TRUE。
因为a+b>c,b+c>a,c+a>b中间用的是豆号分隔计算结果是最后一句的结果,就是a+b>c,b+c>a没起作用相当于if(c+a>b)。
把","改为"&&":if(a+b>c&&b+c>a&&c+a>b),