
#include <stdio.h> main() { int a,b,c; printf("请输入三个边长:\n"); scanf("%d %d %d",&a,&b,&c); if 20
#include<stdio.h>main(){inta,b,c;printf("请输入三个边长:\n");scanf("%d%d%d",&a,&b,&c);if(a+b...
#include <stdio.h>
main()
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
printf("直角三角形。\n");
else if(a==b && a==c)
printf("等边三角形。\n");
else if(a==b||b==c||a==c)
printf("等腰三角形。\n");
else if(a+b<c && a+c<b && b+c<a)
printf("不能构成三角形。\n");
}
就是这个程序,输入三边来判断是何种三角形,等边、等腰、直角都可以判断出来,只有输入不构成三角形三边的时候,不会打出“不构成三角形”,也不知道是什么问题,急求答案啊! 展开
main()
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
printf("直角三角形。\n");
else if(a==b && a==c)
printf("等边三角形。\n");
else if(a==b||b==c||a==c)
printf("等腰三角形。\n");
else if(a+b<c && a+c<b && b+c<a)
printf("不能构成三角形。\n");
}
就是这个程序,输入三边来判断是何种三角形,等边、等腰、直角都可以判断出来,只有输入不构成三角形三边的时候,不会打出“不构成三角形”,也不知道是什么问题,急求答案啊! 展开
4个回答
展开全部
我把你的程序改了一些,这样就可以了。
#include <stdio.h>
main()
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a){
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
{printf("直角三角形。\n");}
else if(a==b && a==c)
{printf("等边三角形。\n");}
else if(a==b||b==c||a==c)
{printf("等腰三角形。\n");}
}
else
{printf("不能构成三角形。\n");}
}
如果你是初学者的话,记得保持良好的编程习惯,让代码看起来非常清晰。不然等不到别人来找你程序的BUG,你自己就先乱了。
#include <stdio.h>
main()
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a){
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
{printf("直角三角形。\n");}
else if(a==b && a==c)
{printf("等边三角形。\n");}
else if(a==b||b==c||a==c)
{printf("等腰三角形。\n");}
}
else
{printf("不能构成三角形。\n");}
}
如果你是初学者的话,记得保持良好的编程习惯,让代码看起来非常清晰。不然等不到别人来找你程序的BUG,你自己就先乱了。
展开全部
&& 应该替换为 ||
同时你应该知道if判断条件应该相反
#include <stdio.h>
int main(void)
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
//if判断条件应该相反,下面的if和else if均为第一个if条件的子集
{
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
printf("直角三角形。\n");
else if(a==b && a==c)
printf("等边三角形。\n");
else if(a==b||b==c||a==c)
printf("等腰三角形。\n");
}
else printf("不能构成三角形。\n");
}
同时你应该知道if判断条件应该相反
#include <stdio.h>
int main(void)
{
int a,b,c;
printf("请输入三个边长:\n");
scanf("%d %d %d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
//if判断条件应该相反,下面的if和else if均为第一个if条件的子集
{
if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b)
printf("直角三角形。\n");
else if(a==b && a==c)
printf("等边三角形。\n");
else if(a==b||b==c||a==c)
printf("等腰三角形。\n");
}
else printf("不能构成三角形。\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把else if(a+b<c && a+c<b && b+c<a)
改成else if(a+b<=c || a+c<=b || b+c<=a)
改成else if(a+b<=c || a+c<=b || b+c<=a)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询