CC++编程学习-第5周⑧判断直⾓三⾓形题⽬描述
输⼊三个整数,判断⽤这三个整数做边长是否能构成⼀个直⾓三⾓形。
输⼊格式
输⼊三个整数。
输出格式
能否构成直⾓三⾓形,如能输出:“yes”,若不能,输出:“no”。
数据范围0≤ 所有数字 ≤1000。
Sample Input
6810
编程先学c语言还是pythonSample Output
yes
思路
⽤勾股定理判断是否为直⾓三⾓形。
直⾓三⾓形的条件:
①⾸先它应该是⼀个三⾓形
②其次它的两个直⾓边的平⽅和等于斜边的平⽅和
C语⾔代码:
#include<stdio.h>
int main()
{
int a[4];
scanf("%d %d %d",&a[0],&a[1],&a[2]);
for(int i =0; i <3;++i)//排序
for(int j =2; j > i; j--)
if(a[j]< a[i])
{
long long temp = a[j];
a[j]= a[i];
a[i]= temp;
}
if(a[0]==0)//最短边为0,⽆法构成三⾓形
{
printf("no");
return0;
}
if(a[0]* a[0]+ a[1]* a[1]== a[2]* a[2])printf("yes");//勾股定理
else printf("no");
return0;
}
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a[3];
memset(a,0,sizeof(a));
while(cin >> a[0]>> a[1]>> a[2])
{
sort(a, a +3);
if(a[0]* a[0]+ a[1]* a[1]== a[2]* a[2]&& a[0]+ a[1]> a[2]&& a[2]- a[0]< a[1]) cout <<"yes"<< endl; else cout <<"no"<< endl;
memset(a,0,sizeof(a));
}
return0;
}
sort()是排序函数,在头⽂件#include<algorithm>中。
没有C语⾔基础的同学们,可以先学习⼀下C语⾔语法,我会整理好,后⾯发出来
我已经写好了,可以去看。
本周其他练习:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论