当前位置:首页 » 编程软件 » shell脚本相乘运算

shell脚本相乘运算

发布时间: 2022-06-15 01:03:04

⑴ 编写一个shell脚本,可以输入2个参数,并将它们的乘积显示出来

#!/bin/sh
echo "please input a"
read a
echo "please input b"

read b
c=$[a*b]
echo "chenji=$c"

linux中编写一个shell程序,读入一组数字,使用for循环计算该数组数字的乘积。

#!/bin/bash
read-p"请输入一组数字:"-aarray
accumulate=1
fornumin${array[@]}
do
accumulate=$(($accumulate*num))
done
echo"乘积是:"$accumulate

计算读入的一组数字(在同一行输入)的积

⑶ shell 怎么个位相乘

是这样吗?

a=14

b=563

echo $((a%10*(b%10)))

结果是3乘4,等于12。

⑷ linux下shell脚本写一个 简单乘法出错 求解

最后一行是不是少了一个双引号的结束

⑸ 在虚拟机Linux系统下编写简单的shell脚本,但显示结果说没有乘法命令式怎么回事儿啊

在bash里可以用 $(( )) 做算术运算,里面类似C语法,变量名前都不需要加$。
total=$((firstn*secon))

或者用shell内建命令let也可以(推荐这种,不同shell间兼容性好)
let total=firstn*secon

用expr做运算是最通常的方法。不过用起来不方便(乘号还需要转义),容易出错。
total=`expr $firstn \* $secon`

用bc做运算也属于常用方法,但你这样做开销大(管道|会新建shell去运行后面的命令;bc属于外部程序调用,非shell内建命令),不是首选方法,从性能上来讲是这几种方法中最差的。

⑹ 编写一个shell脚本,打印任何数的乘法表

#!/bin/bash
read -p "Please input a integer: " num
for multiplier in {1..9}
do
ret=$((num*multiplier))
echo $num*$multiplier=$ret
done
exit 0

⑺ 刚学shell脚本写了个小 计算器,加减除都可以,乘法不行,哪儿错了

你的问题在:elif [ $fangfa = " \* " ]; 这句并不能判断到“*“乘号;
正确的结果如下:
#!/bin/bash
echo "first number"
read a
echo "fangfa"
read fangfa
echo "second number"
read b
if [ "$fangfa" = "+" ];then
echo $(($a+$b))
elif [ "$fangfa" = "-" ];then
echo $(($a-$b))
elif [ "$fangfa" = "*" ];then
echo $(($a*$b))
elif [ "$fangfa" = "/" ];then
echo $(($a/$b))
fi
===============================================
脚本优化版本:
#!/bin/bash

read -p "input first number: " num1
read -p "input operator: " operator
read -p "input second number: " num2

if [ "$operator" == "+" ];then
echo " num1 + num2 = $(($num1+$num2))"
elif [ "$operator" == "-" ];then
echo "num1 - num2 = $(($num1-$num2))"
elif [ "$operator" == "*" ];then
echo "num1 * num2 = $(($num1*$num2))"
elif [ "$operator" == "/" ];then
echo "num1 / num2 = $(($num1/$num2))"
fi

⑻ 1:编辑shell脚本factorial.sh,计算1到10的阶乘。2:编写shell脚本max.sh,求所有命令行参数中的最大值。

#!/bin/sh
#factorial.sh
factorial_1(){
num=$1
sum=1
for((i=0;i<$num;i++))
do
i=`expr$i+1`
sum=`expr$sum*$i`
done
echo"$num的阶乘是$sum"
}
foriin{1..10}
do
factorial_1$i
done


#!/bin/bash
#max.sh
mp=$*
echo$mp|sed's// /g'|sort-n>uuu.$$
tail-1uuu.$$
rm-f*.$$
#完全手打,忘采纳

⑼ 编写一个shell脚本程序,实现100的阶乘并输出

脚本至少有如下错误:
{j}改为${j}或$j,是要取值的啊
expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。
if跟[之间是要有空格的,if判断表达式比较符两侧也要有空格,数字跟 [ ]之间要有空格。

我修正了,自己运行成功生成你要的数列了。你自己对比下吧:
#!/bin/bash
#script name prg8.sh
clear
i=1
for ((j=1;j<=98;j++))
do
echo -n "$j,`expr $j + 2`,"
if [ $i -eq 10 ]
then
echo ""
i=1
else
i=$((i+1))
fi
done
echo ""
注释里已经说了,script name prg8.sh,脚本名叫prg8.sh,当然,叫什么名字是你的自由。

⑽ 利用所学的shell命令,写出计算10的阶乘的脚本程序,如何编译如何进行

#!/bin/sh

factorial=1

for a in `seq 1 10 `

do

factorial=`expr $factorial\*$a`

done

echo "10! = $factorial"

热点内容
php云开发 发布:2025-05-18 03:12:41 浏览:447
sql语句显示表 发布:2025-05-18 03:12:30 浏览:690
数据库系统的例子 发布:2025-05-18 03:02:42 浏览:191
数字化储存与编译是什么 发布:2025-05-18 02:56:55 浏览:217
个人网站模板源码 发布:2025-05-18 02:51:17 浏览:490
主服务器ip地址 发布:2025-05-18 02:46:29 浏览:856
电脑配置太低玩不了绝地求生怎么办 发布:2025-05-18 02:38:39 浏览:797
存储过程怎么出错了 发布:2025-05-18 02:37:16 浏览:368
32寸算法 发布:2025-05-18 02:22:14 浏览:744
宝塔数据库备份 发布:2025-05-18 02:14:18 浏览:193