在C语言中,输入三个数,判断他们能否构成三角形,如果可以,能构成何种三角形
20个回答
展开全部
#include #include int main() { int a, b, c; float p, s; scanf("%d%d%d", &a, &b, &c); if (a + b > c && a + c > b && b + c > a) { p = (a + b + c) / 2.0; s = p * (p - a) * (p - b) * (p - c); s = sqrt(s); printf("S = %.2f\n", s); }...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个回答有致命错误,if与else的结构失当导致判断三角形类型时会将多个if条件句并列判断,可以输入3 4 5验证,其中同时显示出这三个数构成直角三角形和普通三角形
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-05
展开全部
#include <stdio.h>
void main()
{
int a,b,c;
printf("请输入三个数:\n");
scanf("%d %d %d",&a,&b,&c);
if((a+b)<=c||(a+c)<=b||(b+c)<=a)
printf("这三个数无法构成三角形");
else
{
if((a*a+b*b)==c*c||(b*b+c*c)==a*a||(a*a+c*c)==b*b)
{printf("这三个数构成的是直角三角形");}
if(a==b||b==c||a==c)
{printf("这三个数构成等边三角形");}
else
printf("这三个数构成的是普通三角形");
}
return(0);
}
void main()
{
int a,b,c;
printf("请输入三个数:\n");
scanf("%d %d %d",&a,&b,&c);
if((a+b)<=c||(a+c)<=b||(b+c)<=a)
printf("这三个数无法构成三角形");
else
{
if((a*a+b*b)==c*c||(b*b+c*c)==a*a||(a*a+c*c)==b*b)
{printf("这三个数构成的是直角三角形");}
if(a==b||b==c||a==c)
{printf("这三个数构成等边三角形");}
else
printf("这三个数构成的是普通三角形");
}
return(0);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只说算法,具体的自己应该会
设3边为 a,b,c //从键盘输入赋值
if(a+b<=c||a+c<=b||b+c<=a) return; //两边之和小于第三边,不构成三角形,程序结束
如果上面那句运行了,表示是三角形,下面判断类型。
if(a==b&&b==c) printf("等边三角形"); //三边相等
else if(a==b&&b!=c || a==c&&c!=b || b==c&&c!=a) printf("等腰三角形"); //两边相等
...........
............ //其他类型类似 比如直角就用 勾股定理 判断就行 需要注意的是要把相对特殊的情况放在较前面的位置判断,比如等腰直角三角形 的判断就应该放在 等腰三角形 和直角三角形的前面来判断
最后再写一句 else print("普通三角形");
设3边为 a,b,c //从键盘输入赋值
if(a+b<=c||a+c<=b||b+c<=a) return; //两边之和小于第三边,不构成三角形,程序结束
如果上面那句运行了,表示是三角形,下面判断类型。
if(a==b&&b==c) printf("等边三角形"); //三边相等
else if(a==b&&b!=c || a==c&&c!=b || b==c&&c!=a) printf("等腰三角形"); //两边相等
...........
............ //其他类型类似 比如直角就用 勾股定理 判断就行 需要注意的是要把相对特殊的情况放在较前面的位置判断,比如等腰直角三角形 的判断就应该放在 等腰三角形 和直角三角形的前面来判断
最后再写一句 else print("普通三角形");
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编程判断三角形 私信我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询