题目:
描述
KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
输入描述:
题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。
输出描述:
针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。
代码分析:
首先判断能否构成三角形就需采用if判断,如果能就进入进一步判断具体是什么三角形,如果不能就输出Not a triangle!
在进一步判断中又需采用if 如果三边都相等则为等边三角形,而判断则a==b,b==c,a==c同时满足,则需采用“&&”,即(a==b&&b==c),输出Equilateral triangle!若不满足则就判断是否有两条边相等即可,则就采用“||”的逻辑符号,即(a==b||b==c||a==c),输出Isosceles triangle!两者都不满足则就输出Ordinary triangle!
源代码
#include <stdio.h>
int main()
{
float a, b, c;
while (scanf("%f %f %f", &a, &b, &c) != EOF)
{
if ((a + b) > c && (a + c) > b && (b + c) > a)
{
if (a == b & b == c)
{
printf("Equilateral triangle!\n");
}
else if (a == b || b == c || a == c)
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
}