
编写一个程序?输入3条边,如何用c++编写判断是否为一个直角等腰三角形
3个回答
展开全部
代码楼上有了,我就给楼主说下流程。
定义3个整形用来储存输入的3个数,或者说3条边,然后判断任意2条边是否相等,可以用if实现,如a,b,c, if(a==b) if(b==c) if(a==c) .如果三者任意成立继续向下执行,判断它是不是直角。至于判断直角可以用勾股定理,a^2 = b^2 +c^ ,在判断是否为直角之前还要比较3个数大小,a必须为大边嘛。希望能帮到楼主。
定义3个整形用来储存输入的3个数,或者说3条边,然后判断任意2条边是否相等,可以用if实现,如a,b,c, if(a==b) if(b==c) if(a==c) .如果三者任意成立继续向下执行,判断它是不是直角。至于判断直角可以用勾股定理,a^2 = b^2 +c^ ,在判断是否为直角之前还要比较3个数大小,a必须为大边嘛。希望能帮到楼主。
展开全部
double a,b,c;
scanf("%f %f %f",&a,&b,&c);
if((a==b)&&(a>0)&&(c>0))
{
if((2*a*a==c*c)&&(a+b>c))
printf("That is it");
}
else if((a==c)&&(a>0)&&(b>0))
{
if((2*a*a==b*b)&&(a+c>b))
printf("That is it");
}
else if((b==c)&&(a>0)&&(b>0))
{
if((2*b*b==a*a)&&(b+c>a))
printf("That is it");
}
else
{
printf("Nope");
}
额..不过这个有缺点就是...因为3边不能同时为整数,而且也不能由键盘输入根号二,所以看楼主也不准备追问,我也懒得完善了 古德night吧...
scanf("%f %f %f",&a,&b,&c);
if((a==b)&&(a>0)&&(c>0))
{
if((2*a*a==c*c)&&(a+b>c))
printf("That is it");
}
else if((a==c)&&(a>0)&&(b>0))
{
if((2*a*a==b*b)&&(a+c>b))
printf("That is it");
}
else if((b==c)&&(a>0)&&(b>0))
{
if((2*b*b==a*a)&&(b+c>a))
printf("That is it");
}
else
{
printf("Nope");
}
额..不过这个有缺点就是...因为3边不能同时为整数,而且也不能由键盘输入根号二,所以看楼主也不准备追问,我也懒得完善了 古德night吧...
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-11
展开全部
#include<iostream>
#include<math.h>
using namespace std;
bool triangle(unsigned int a,unsigned int b,unsigned int c){
if(pow(a,2)+pow(b,2)==pow(c,2)||pow(a,2)+pow(c,2)==pow(b,2)||pow(c,2)+pow(b,2)==pow(a,2)){
return true;
}
else{
return false;
}
}
void main(){
unsigned int x,y,z;
cin>>x>>y>>z;
if(triangle(x,y,z)){
cout<<"是直角三角形!"<<endl;
}
else{
cout<<"不是直角三角形!"<<endl;
}
system("pause");
}
#include<math.h>
using namespace std;
bool triangle(unsigned int a,unsigned int b,unsigned int c){
if(pow(a,2)+pow(b,2)==pow(c,2)||pow(a,2)+pow(c,2)==pow(b,2)||pow(c,2)+pow(b,2)==pow(a,2)){
return true;
}
else{
return false;
}
}
void main(){
unsigned int x,y,z;
cin>>x>>y>>z;
if(triangle(x,y,z)){
cout<<"是直角三角形!"<<endl;
}
else{
cout<<"不是直角三角形!"<<endl;
}
system("pause");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询