输入三解形的三条边a,b,c,判断它们能否构成三角形,

若能构成三角形,指出是何等三角形(等腰三角形、直角三角形、一般三角形)。#include<stdio.h>intmain(){inta,b,c;printf("请输入三边... 若能构成三角形,指出是何等三角形(等腰三角形、直角三角形、一般三角形)。
#include<stdio.h>
int main()
{
int a,b,c;
printf("请输入三边");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
{if(a==b ||a==c ||b==c)
{
if(a*a+b*b==c*c ||a*a+c*c==b*b ||b*b+c*c==a*a)
printf("等腰直角三角形");
else
printf("等腰三角形");}
else if(a*a+b*b==c*c ||a*a+c*c==b*b ||b*b+c*c==a*a)
printf("直角三角形");
else
printf("一般三角行");

}

else
printf("不能构成三角形");
return 0;
}
哪里错了
展开
 我来答
My_Persistence
2017-03-10 · TA获得超过3465个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:414万
展开全部
#include <stdio.h>
#include <stdlib.h>

typedef int boolean;

#define TRUE 1
#define FALSE 0
//判断能否构成三角形函数
boolean isTriangle(double x,double y,double z)
{
//思路:任意两边之和大于第三边才能构成三角形
//或者是任意两边之差的绝对值小于第三边
if(x<=0 || y<=0 || z<=0)
{
printf("Input data error!\n");
exit(-1);
}
if(x+y>z && x+z>y && y+z>x)
return TRUE;
else
return FALSE;
}
int main()
{
double a,b,c;
printf("输入三角形三边a,b,c: ");
scanf("%lf %lf %lf",&a,&b,&c);
if(isTriangle(a,b,c) == TRUE)
printf("(%.2f,%.2f,%.2f)可以构成三角形.\n",a,b,c);
else
printf("(%.2f,%.2f,%.2f)无法构成三角形.\n",a,b,c);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjwgs
2013-12-19 · TA获得超过281个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:116万
展开全部
没看出有什么问题,你遇到了什么样的报错?还是输入了测试数据但是测试结果和预计的不一样?
更多追问追答
追问
测试 的时候始终 是不能构成
追答
呃……请截个图来看看,因为我这里测试是没问题的
我反应过来了,你输入的测试数据是用逗号隔开的吧?你试试用空格隔开就OK了,这个和你写的scanf有关
scanf("%d%d%d",&a,&b,&c);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张三李四王五干
2013-12-19 · TA获得超过669个赞
知道答主
回答量:178
采纳率:0%
帮助的人:136万
展开全部
没有错吧,你哪组测试数据出错了?

实际上3个整数不可能组成等腰直角三角形
但是你的程序应该没有问题

难道应该读入浮点数?
追问
测试 的时候始终 是不能构成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友21a9edb
2013-12-19
知道答主
回答量:17
采纳率:0%
帮助的人:4.6万
展开全部
逻辑是合适的 程序好像也没问题啊
追问
就是没问题  但是显示的是 始终是不能构成三角形
追答
if((a+b>c)&&(a+c>b)&&(b+c>a))这样试试  按你说的应该是没有进入if语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式