linux命令行计算阶乘 linux 乘法运算

linux中怎么从键盘输入一个数,计算其阶乘

使用c的scanf:

10多年的梅河口网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整梅河口建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“梅河口网站设计”,“梅河口网站推广”以来,每个客户项目都认真落实执行。

int x;

scanf("请输入一个数:%d",x);

然后设计一个计算阶乘的函数,计算出结果打印输出

如何在Linux 命令行里做数学运算

可以考虑使用$(())进行数学运算

例如:

[WtbmWdgz@localhost 桌面]$ a=5;b=3

[WtbmWdgz@localhost 桌面]$ echo $((a*7-b))

32

这个可以执行加减乘除和取模(就是取余数)的数学计算还有逻辑运算的与、或、非、还有异或运算

与运算是两个条件同时成立结果才成立。或运算是两个条件有一个成立结果就成立。非运算只需要一个条件。条件成立,结果就是否定。条件不成立 ,结果就肯定。比如:下雨就不出门,不下雨就出门。异或也叫半加。它是 两个条件相同,结果是0,就是否定,两条件不同,结果才是肯定或者是1

在Linux中shell编程求M-N的阶乘,M、N用户输入

#!/bin/bash

echo "请输入整数M、N(MN)"

echo "M:"

read M

#判断M是否非空且为整数

if [ -z $M ]

then

echo "M 必须非空"

exit 1

elif ! [[ $M =~ ^-?[0-9]*$ ]]

then

echo "M 必须为整数"

exit 1

fi

echo "N:"

read N

#判断N是否非空且小于N的整数

if [ -z $N ]

then

echo "N 必须非空"

exit 1

elif ! [[ $N =~ ^-?[0-9]*$ ]]

then

echo "N 必须为整数"

exit 1

elif [ $M -le $N ]

then

echo "N必须小于M"

exit 1

fi

let "base = M-N"

result=1

#阶乘函数,引入result实现运算的线性增长

fac (){

base=$1

result=$2

if [ $base -gt 0 ]

then

let "result *= base"

let "base -= 1"

fac $base $result

fi

}

#计算阶乘

fac $base $result

echo "M-N的阶乘为$result"

exit 0

上次看错题目了

Linux操作,8、设计一个shell程序计算n的阶乘。要求: (1)从命令行接收参数n;

if [ -z $1 ];then 

echo 你没有输入参数

exit 1

fi

case $1 in 

*[!0-9]*) echo 你输入的不是合法数字

exit 1;;

*) n=$1;;

esac

if [ $n -le 0 ];then 

echo 你输入的不是正整数

exit 1 

fi

frac=1

while [ $n -gt 0 ]

do 

frac=$((frac * n))

n=$((n - 1))

done

echo 阶乘为:$frac

echo 学号

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"

}

for i in {1..10}

do

factorial_1 $i

done

#!/bin/bash

#max.sh

mp=$*

echo $mp|sed 's/ /\n/g'|sort -n uuu.$$

tail -1 uuu.$$

rm -f *.$$

#完全手打,忘采纳

linux中使用while语句计算阶乘

while计算阶乘还是比较简单的,假设需要计算1到3的阶乘:

jiechen=1 #申明变量

for bb in `seq 1 3` #计算1到3的阶乘

do

jiechen=`expr ${bb} \* ${jiechen}` #循环结算

done

echo "10! = ${jiechen}" #打印结果


网站栏目:linux命令行计算阶乘 linux 乘法运算
文章出自:http://scyanting.com/article/doopeie.html