华域联盟 linux shell Shell脚本编程中常用的数学运算实例

Shell脚本编程中常用的数学运算实例

这部分主要讨论数学相关的shell脚本编程。

加法运算

新建一个文件“Addition.sh”,输入下面的内容并赋予其可执行的权限。

复制代码 代码如下: #!/bin/bash

echo “Enter the First Number: ”

read a

echo “Enter the Second Number: ”

read b

x=$(expr "$a" + "$b")

echo $a + $b = $x

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Additions.sh

[root@tecmint ~]# chmod 755 Additions.sh

[root@tecmint ~]# ./Additions.sh

 

“Enter the First Number: ”

12

“Enter the Second Number: ”

13

12 + 13 = 25

减法运算

复制代码 代码如下:

#!/bin/bash

echo “Enter the First Number: ”

read a

echo “Enter the Second Number: ”

read b

x=$(($a - $b))

echo $a - $b = $x

注意:这里我们没有像上面的例子中使用“expr”来执行数学运算。

输出结果:

复制代码 代码如下:

[root@tecmint ~]# vi Substraction.sh

[root@tecmint ~]# chmod 755 Substraction.sh

[root@tecmint ~]# ./Substraction.sh

 

“Enter the First Number: ”

13

“Enter the Second Number: ”

20

13 - 20 = -7

乘法运算

复制代码 代码如下:

#!/bin/bash

echo “Enter the First Number: ”

read a

echo “Enter the Second Number: ”

read b

echo "$a * $b = $(expr $a \* $b)"

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Multiplication.sh

[root@tecmint ~]# chmod 755 Multiplication.sh

[root@tecmint ~]# ./Multiplication.sh

 

“Enter the First Number: ”

11

“Enter the Second Number: ”

11

11 * 11 = 12

除法运算

复制代码 代码如下:

#!/bin/bash

echo “Enter the First Number: ”

read a

echo “Enter the Second Number: ”

read b

echo "$a / $b = $(expr $a / $b)"

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Division.sh

[root@tecmint ~]# chmod 755 Division.sh

[root@tecmint ~]# ./Division.sh

 

“Enter the First Number: ”

12

“Enter the Second Number: ”

3

12 / 3 = 4

数组

下面的这个脚本可以打印一组数字。

复制代码 代码如下:

#!/bin/bash

echo “Enter The Number upto which you want to Print Table: ”

read n

i=1

while [ $i -ne 10 ]
do

i=$(expr $i + 1)

table=$(expr $i \* $n)

echo $table

done

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Table.sh

[root@tecmint ~]# chmod 755 Table.sh

[root@tecmint ~]# ./Table.sh

 

“Enter The Number upto which you want to Print Table: ”

29

58

87

116

145

174

203

232

261

290

你可以从这里下载这个例子的代码

判断奇偶数

复制代码 代码如下:

#!/bin/bash

echo "Enter The Number"

read n

num=$(expr $n % 2)

if [ $num -eq 0 ]
then

echo "is a Even Number"

else

echo "is a Odd Number"

fi

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi EvenOdd.sh

[root@tecmint ~]# chmod 755 EvenOdd.sh

[root@tecmint ~]# ./EvenOdd.sh

 

Enter The Number

12

is a Even Number

1

2

3

4

5

[root@tecmint ~]# ./EvenOdd.sh

 

Enter The Number

11

is a Odd Number

Factorial数

复制代码 代码如下:

#!/bin/bash

echo "Enter The Number"

read a

fact=1

while [ $a -ne 0 ]
do

fact=$(expr $fact \* $a)

a=$(expr $a - 1)

done

echo $fact

输出结果:


复制代码 代码如下: [root@tecmint ~]# vi Factorial.sh

[root@tecmint ~]# chmod 755 Factorial.sh

[root@tecmint ~]# ./Factorial.sh

 

Enter The Number

12

479001600

你可以从这里下载这个例子的代码

判断Armstrong数

Armstrong数:在三位的正整数中,例如abc,有一些可能满足(a^3)+(b^3)+(c^3)=abc,即各个位数的立方和正好是该数的本身。这些数即称为Armstrong数。

复制代码 代码如下:

#!/bin/bash

echo "Enter A Number"

read n

arm=0

temp=$n

while [ $n -ne 0 ]
do

r=$(expr $n % 10)

arm=$(expr $arm + $r \* $r \* $r)

n=$(expr $n / 10)

done

echo $arm

if [ $arm -eq $temp ]
then

echo "Armstrong"

else

echo "Not Armstrong"

fi

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Armstrong.sh

[root@tecmint ~]# chmod 755 Armstrong.sh

[root@tecmint ~]# ./Armstrong.sh

 

Enter A Number

371

371

Armstrong

1

2

3

4

5

6

[root@tecmint ~]# ./Armstrong.sh

 

Enter A Number

123

36

Not Armstrong

判断质数

复制代码 代码如下:

#!/bin/bash

echo “Enter Any Number”

read n

i=1

c=1

while [ $i -le $n ]
do

i=$(expr $i + 1)

r=$(expr $n % $i)

if [ $r -eq 0 ]
then

c=$(expr $c + 1)

fi

done

if [ $c -eq 2 ]
then

echo “Prime”

else

echo “Not Prime”

fi

输出结果:


复制代码 代码如下:

[root@tecmint ~]# vi Prime.sh

[root@tecmint ~]# chmod 755 Prime.sh

[root@tecmint ~]# ./Prime.sh

 

“Enter Any Number”

12

 

“Not Prime”

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » Shell脚本编程中常用的数学运算实例

转载请保留出处和原文链接:https://www.cnhackhy.com/15874.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部