用shell判断三条边长是否为三角形,如果是进而判断它是等腰三角形还是等边三角形,用上expr
时间: 2024-02-12 12:08:20 浏览: 75
可以使用以下代码来实现:
```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 expr命令是一个Linux系统中的命令行工具,用于执行算术和逻辑运算。它可以对整数和字符串进行操作。常见用法包括求和、差、积、除、取模等。例如:
```
expr 3 + 2 # 输出5
expr 20 - 5 # 输出15
expr 10 \* 3 # 输出30
expr 20 / 5 # 输出4
expr 20 % 7 # 输出6
```
请注意,在计算除法时,结果总是向下取整。
shell expr 案例
当使用`expr`命令时,可以通过使用操作符和表达式来执行不同的操作。下面是一些常见的`expr`命令案例:
1. 计算两个整数的和:
```shell
sum=$(expr 10 + 5)
echo "Sum: $sum" # 输出:Sum: 15
```
2. 计算两个整数的差:
```shell
difference=$(expr 20 - 8)
echo "Difference: $difference" # 输出:Difference: 12
```
3. 计算两个整数的乘积:
```shell
product=$(expr 6 \* 4)
echo "Product: $product" # 输出:Product: 24
```
4. 计算两个整数的商:
```shell
quotient=$(expr 20 / 4)
echo "Quotient: $quotient" # 输出:Quotient: 5
```
5. 比较两个整数是否相等:
```shell
a=10
b=10
if [ $(expr $a = $b) -eq 1 ]; then
echo "Numbers are equal."
else
echo "Numbers are not equal."
fi
```
6. 获取字符串的长度:
```shell
string="Hello World!"
length=$(expr length "$string")
echo "Length: $length" # 输出:Length: 12
```
这些案例演示了`expr`命令在进行数学运算和字符串处理时的常见用法。你可以根据自己的需求进行修改和扩展。
希望以上案例对你有所帮助。如果还有其他问题,请随时提问!
阅读全文