用shell判断三条边长是否为三角形,如果是进而判断它是等腰三角形还是等边三角形
时间: 2023-09-20 13:05:54 浏览: 81
可以使用以下的Shell脚本来判断三个值是否能够构成三角形,并且判断它是等腰三角形还是等边三角形:
```
#!/bin/bash
echo "请输入三角形的三条边长:"
read a
read b
read c
if [ $(($a+$b)) -gt $c ] && [ $(($a+$c)) -gt $b ] && [ $(($b+$c)) -gt $a ]
then
echo "可以构成三角形"
if [ $a -eq $b ] || [ $a -eq $c ] || [ $b -eq $c ]
then
if [ $a -eq $b ] && [ $b -eq $c ]
then
echo "这是一个等边三角形"
else
echo "这是一个等腰三角形"
fi
else
echo "这是一个普通三角形"
fi
else
echo "无法构成三角形"
fi
```
在运行该脚本时,会提示用户输入三角形的三条边长,然后根据三条边长是否能够构成三角形来输出相应的结果。如果可以构成三角形,则进一步判断它是等腰三角形还是等边三角形。其中,判断三条边长是否能够构成三角形的条件为:任意两边之和大于第三边。
相关问题
用shell判断三条边长是否为三角形,如果是进而判断它是等腰三角形还是等边三角形,用上expr
可以使用以下代码来实现:
```shell
#!/bin/bash
# 输入三条边长
read -p "请输入三角形的三条边长,用空格隔开: " a b c
# 判断是否为三角形
if [ $(expr $a + $b) -gt $c -a $(expr $a + $c) -gt $b -a $(expr $b + $c) -gt $a ]; then
echo "这是一个三角形"
# 判断是否为等腰三角形
if [ $a -eq $b -o $a -eq $c -o $b -eq $c ]; then
echo "这是一个等腰三角形"
fi
# 判断是否为等边三角形
if [ $a -eq $b -a $a -eq $c ]; then
echo "这是一个等边三角形"
fi
else
echo "这不是一个三角形"
fi
```
解释:
1. 第一行指定使用 bash shell。
2. 使用 `read` 命令读入三角形的三条边长,存储在变量 `a`、`b`、`c` 中。
3. 使用 `expr` 命令判断是否为三角形,如果是则进一步判断是否为等腰三角形和等边三角形。判断等腰三角形和等边三角形时,使用了 `-eq` 运算符判断两个数是否相等。
4. 如果不是三角形,则输出相应的信息。
用shell判断三条边长是否为三角形,如果是进而判断它是等腰三角形还是等边三角形,用上expr和&&
可以使用以下代码来实现:
```shell
#!/bin/bash
# 输入三条边长
read -p "请输入三角形的三条边长,用空格隔开: " a b c
# 判断是否为三角形并且是等腰三角形或等边三角形
if [ $(expr $a + $b) -gt $c -a $(expr $a + $c) -gt $b -a $(expr $b + $c) -gt $a ] && \
([ $a -eq $b -o $a -eq $c -o $b -eq $c ] || [ $a -eq $b -a $a -eq $c ]); then
echo "这是一个三角形"
# 判断是否为等腰三角形
if [ $a -eq $b -o $a -eq $c -o $b -eq $c ]; then
echo "这是一个等腰三角形"
fi
# 判断是否为等边三角形
if [ $a -eq $b -a $a -eq $c ]; then
echo "这是一个等边三角形"
fi
else
echo "这不是一个三角形"
fi
```
解释:
1. 输入三角形的三条边长,存储在变量 `a`、`b`、`c` 中。
2. 使用 `expr` 命令判断是否为三角形,并且使用 `&&` 运算符判断是否为等腰三角形或等边三角形。使用 `||` 运算符表示或者,使用 `&&` 运算符表示并且。
3. 如果是三角形并且是等腰三角形或等边三角形,则输出相应的信息。
4. 如果不是三角形,则输出相应的信息。