c语言代码,输入三条边看能不能构成三角形

如果要加上任意两边之差小于第三边要怎么写?#include<stdio.h>intmain(void){doublea,b,c,sum;printf("输入三条边:\n\... 如果要加上任意两边之差小于第三边要怎么写?

# include <stdio.h>

int main(void)
{
double a, b, c, sum;

printf("输入三条边:\n\a");
scanf("%lf%lf%lf", &a, &b, &c);

if ((a+b)>c&&(a+c)>b&&(b+c)>a)
{
printf("可以构成三角形。\n");
printf("周长 = %f",sum = a+b+c);
}
else
printf("不能构成三角形。\n");

return 0;
}
展开
 我来答
铁打的泥人
推荐于2016-03-31 · TA获得超过2068个赞
知道小有建树答主
回答量:741
采纳率:50%
帮助的人:378万
展开全部
代码可以写成同一个if里
也可以写成if嵌套的样子,如下
#include <stdio.h>
#include "math.h"

int main(void)
{
double a, b, c, sum;

printf("输入三条边:\n\a");
scanf("%lf%lf%lf", &a, &b, &c);

if ((a+b)>c&&(a+c)>b&&(b+c)>a)
{
if(fabs(a-b)<c&&fabs(a-c)<b&&fabs(b-c)<a)
{
printf("可以构成三角形。\n");
printf("周长 = %f",sum = a+b+c);
}
}
else
printf("不能构成三角形。\n");

return 0;
}
这里fabs()是取绝对值函数,其包含在math.h头文件里,因为任意两边之差当然是大的减小的是非负的
但是我们看这里既要两边之差又要两边之和是多余的,因为a+b>c就能推出c-b<a或c-a<b,所以原则上你的源代码就行了,如果非要加上那也不是不行,如上就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网上充浪
2014-07-28 · TA获得超过341个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:98.2万
展开全部
#include <stdio.h>
#include <math.h>

...

if (fabs(a-b)<c && fabs(a-c)<b && fabs(b-c)<a)
{
    printf("可以构成三角形。\n");
    printf("周长 = %f",sum = a+b+c);
}
else
    printf("不能构成三角形。\n");

...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Arthurzss
2014-07-28 · TA获得超过1662个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:244万
展开全部
增加一个头文件math.h,即
# include <math.h>

然后加一句if,并在里面用fabs这个对浮点数取绝对值函数。
if (fabs(a-b) < c && fabs(a-c) < b && fabs(b-c) < a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwylele
2014-07-28 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1096万
展开全部
&& a-b>c && b-a>c
以此类推
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式