针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
while (scanf("%d %d %d", &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 || a == c || b == c) //等腰三角形判断条件
{
printf("Isosceles triangle!\n");
}
else //其余三角形
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
}
进来之后首先从键盘接收三角形的三条边,由于需要输入多条数据这里用到了循环语句进行判断
while (scanf("%d %d %d", &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 || a == c || b == c) //等腰三角形判断条件
{
printf("Isosceles triangle!\n");
}
else //其余三角形
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}