1.题目的思考
(1)首先题目分为三角形和非三角形,用if语句进行最外层分类,然后在三角形中进行不同的分类,选择。
(2)然后我们看三角形判断方法
数学定义,两边之和大于第三边,两边之差小于第三边。
等边三角形判断三边相等,等腰三角形其中两边相等
(3)题目要求多行输入,增加一个循环可以多次进行判断
2.代码如下
#include<stdio.h>
int main()
{
int a, b, c;
while (scanf("%d%d%d", &a, &b, &c)!= EOF)
{
if (a + b > c && b + c > a && a + c > b)
{
if (a == b && a == 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;
}
3.代码的详解
(1)运用while语句进行循环,当scanf输入不为文件结束时循环继续进行
(2)最外层if else语句进行三角形和非三角形的选择,嵌套内部的if
(3)在第一个if中筛选三角形的类型
(4)判断中逻辑运算符的解释:
1. &&逻辑与(and):a&&b同时为真,则结果为真,否则为假。
== 等同于操作符,判断是否相等,但不能连续判断,如if (a == b && a == c),需要用&&分隔开,否则a==b==c判断结果为:先判断a==b为真记作1,假记作0,其次再用0或1和c进行比较。
!!!不能错用为=,赋值操作符
2. ||逻辑或(or):a||b有一个为真则结果为真
3. ! 逻辑非 (not):真假转换