题目一
读入3个double型变量a,b,c的值,用if语句判断它们能否构成三角形,如果能构成三角形又是构成的何种三角形(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)?输出各种情况下判断的结果。
分解任务要求:
1.判断三边是否构成三角形(两边之和大于第三边&&两边之差小于第三边,但要给三边排序);
2.判断三角形类型;
3.输出结果;
代码
`#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c;
printf("Please input 3 lines:");
scanf("%lf %lf %lf", &a, &b, &c);
if (a <= 0 || b <= 0 || c <= 0)
{
printf("Error input!\n");
}
else
{
if (a + b > c && a + c > b && b + c > a)
{
if (fabs(a * a + b * b - c * c) < 1E-2 || fabs(b * b + c * c - a * a) < 1E-2 || fabs(a * a + c * c - b * b) < 1E-2)
{
printf("%f,%f,%f is right triangle.\n", a, b, c);
}
else
{
printf("%f,%f,%f is an ordinary triangle.\n", a, b, c);
}
}
else
{
printf("%f,%f,%f is not triangle.\n", a, b, c);
}
}
return 0;
}`