小米空气净化器2与2s:这个程序那儿错了??

来源:百度文库 编辑:高校问答 时间:2024/04/28 06:17:53
#include<math.h>
main()
{
float a,b,c,s,area;
printf("Please enter the trilateral's number.\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b<c||a+c<||c+b<a)
printf("Errors!!\nThere is no such a trilateral!!\n")
else
{
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f.\n",a,b,c,s);
printf("area=%7.2f.\n",area);
};
}

应改为:if((a+b)<c||(a+c)<b||(b+c)<a)吧.

你这里是要判断两边之和大于第三边吧?
给它们加上括号看看怎么样.

if((a+b)<c||(a+c)<)||(c+b)<a)

不过给个建议哦.
你这里要增加的判断很多,
像是输入的数如果小于等于零,要怎么办?

if(a+b<c||a+c<||c+b<a) ????????????