使用c的scanf:
10多年的梅河口網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整梅河口建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“梅河口網(wǎng)站設(shè)計(jì)”,“梅河口網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
int x;
scanf("請(qǐng)輸入一個(gè)數(shù):%d",x);
然后設(shè)計(jì)一個(gè)計(jì)算階乘的函數(shù),計(jì)算出結(jié)果打印輸出
可以考慮使用$(())進(jìn)行數(shù)學(xué)運(yùn)算
例如:
[WtbmWdgz@localhost 桌面]$ a=5;b=3
[WtbmWdgz@localhost 桌面]$ echo $((a*7-b))
32
這個(gè)可以執(zhí)行加減乘除和取模(就是取余數(shù))的數(shù)學(xué)計(jì)算還有邏輯運(yùn)算的與、或、非、還有異或運(yùn)算
與運(yùn)算是兩個(gè)條件同時(shí)成立結(jié)果才成立?;蜻\(yùn)算是兩個(gè)條件有一個(gè)成立結(jié)果就成立。非運(yùn)算只需要一個(gè)條件。條件成立,結(jié)果就是否定。條件不成立 ,結(jié)果就肯定。比如:下雨就不出門,不下雨就出門。異或也叫半加。它是 兩個(gè)條件相同,結(jié)果是0,就是否定,兩條件不同,結(jié)果才是肯定或者是1
#!/bin/bash
echo "請(qǐng)輸入整數(shù)M、N(MN)"
echo "M:"
read M
#判斷M是否非空且為整數(shù)
if [ -z $M ]
then
echo "M 必須非空"
exit 1
elif ! [[ $M =~ ^-?[0-9]*$ ]]
then
echo "M 必須為整數(shù)"
exit 1
fi
echo "N:"
read N
#判斷N是否非空且小于N的整數(shù)
if [ -z $N ]
then
echo "N 必須非空"
exit 1
elif ! [[ $N =~ ^-?[0-9]*$ ]]
then
echo "N 必須為整數(shù)"
exit 1
elif [ $M -le $N ]
then
echo "N必須小于M"
exit 1
fi
let "base = M-N"
result=1
#階乘函數(shù),引入result實(shí)現(xiàn)運(yùn)算的線性增長
fac (){
base=$1
result=$2
if [ $base -gt 0 ]
then
let "result *= base"
let "base -= 1"
fac $base $result
fi
}
#計(jì)算階乘
fac $base $result
echo "M-N的階乘為$result"
exit 0
上次看錯(cuò)題目了
if?[?-z?$1?];then?
echo?你沒有輸入?yún)?shù)
exit?1
fi
case?$1?in?
*[!0-9]*)?echo?你輸入的不是合法數(shù)字
exit?1;;
*)?n=$1;;
esac
if?[?$n?-le?0?];then?
echo?你輸入的不是正整數(shù)
exit?1?
fi
frac=1
while?[?$n?-gt?0?]
do?
frac=$((frac?*?n))
n=$((n?-?1))
done
echo?階乘為:$frac
echo?學(xué)號(hào)
#!/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?*.$$
#完全手打,忘采納
while計(jì)算階乘還是比較簡(jiǎn)單的,假設(shè)需要計(jì)算1到3的階乘:
jiechen=1 #申明變量
for bb in `seq 1 3` #計(jì)算1到3的階乘
do
jiechen=`expr ${bb} \* ${jiechen}` #循環(huán)結(jié)算
done
echo "10! = ${jiechen}" #打印結(jié)果