中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell下的基礎程序題練習

發布時間:2020-07-21 07:27:37 來源:網絡 閱讀:543 作者:mdd9502053669 欄目:編程語言

1.簡單的進度條程序

shell下的基礎程序題練習

lable數組 相當于進度條前進時,那個刷新的圓圈,進度條前進時顯示進度,用count%顯示

程序運行結果:shell下的基礎程序題練習

2.1-100之間的求和

   1>用while實現                        2>用for   in 實現

   shell下的基礎程序題練習           shell下的基礎程序題練習    

  程序運行結果:

  shell下的基礎程序題練習

3>遞歸實現

digui

 function add()                          

  {

  local val=$1

  local sum=0

  local add1=0

  local add2=0

 if [ $val -eq 1 ];then

   echo 1

   return

 fi

  add1=$val

  let val--

  add2=$(add $val)

  let sum=$add1+$add2

   echo $sum

}

 function main()

 {

    read n

    add $n

 }

 main

程序運行結果:

 shell下的基礎程序題練習

4>利用seq 和bc 進行求和

  seq   n :生成到這個數的所有數

  |bc:利用|bc可以求和

例如:

shell下的基礎程序題練習

所以1-100求和可以這樣寫:

shell下的基礎程序題練習

其中tr表示替換,seq出來的所有數都有換行符,通過tr將'\n'替換為'+'。后面的sed 是將最后一個'+'號替換為'\n',再通過bc進行求和。

3.求第n個斐波那契數

  1>非遞歸實現

local 修飾的變量是局部變量

 86 function fib()

 87 { 

 88   local val=$1

 89    while [ $val -eq 0 -o $val -eq 1 ]

 90   do

 91    echo 1

 92    return

 93  done 

 94   i=1

 95   j=1

 96    while [ $val -ge 2 ]

 97    do

 99   let fibn=$i+$j

 100     i=$j

 101     j=$fibn

 102   ((val--))

 103   done

 105 }

 106 function main()

 107 {

 108   read n

 109   fib $n

 110   echo $fibn

 112 }

113 main

2>遞歸實現

思想:當n=1或者n=0時,return 1。因為第n個斐波那契數是第n-1個和第n-2個數之和,所以對傳過來的n值先減1在遞歸保存值,再對n減1遞歸保存值,第n個就是兩個保存者之和。


115 function fib()

116 {

117  local val=$1

118  local fib1=0

119  local fib2=0

120  fibc=0

121 if [ $val -eq 0 -o $val -eq 1 ];then

122 echo 1

123 return

124 fi

125 let val--

126 fib1=$(fib $val)

127 let val--

128 fib2=$(fib $val)

129 let fibc=$fib1+$fib2

130 echo $fibc

131 

132 }

133 

134 function main()

135 {

136   read n

137   fib $n

138 

139 }

140 main

程序運行結果:

shell下的基礎程序題練習


4.讀取另外一文件里的數值,求出最大值、最小值、和、平均值

  1 #!/bin/bash
 2
 3  max=0
 4  min=0
 5  count=0
 6  sum=0
 7  read name
 8  cat $name | while read line
 9  do
10   [ $count -eq 0 ] &&{
11      echo 'count'
12      max=$line
13      min=$line
14
15     }
16  [ $max -lt $line ] &&{
17    max=$line
18  }
19
20  [ $min -gt $line ] &&{
21  min=$line
22 }
23   let count++
24   let sum=sum+line
25  echo "max=$max" "min=$min" "sum=$sum"
26  let avg=${sum}/${count}
27  echo "avg=$avg"
28 done

程序運行結果:

shell下的基礎程序題練習

shell下的基礎程序題練習

cat $name 將其重定向到name文件中,然后通過行讀取參數,進行判斷和運算。





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永平县| 青神县| 尼勒克县| 镇坪县| 衡水市| 健康| 博客| 镇原县| 太白县| 确山县| 蓬安县| 鄂托克旗| 台北市| 正阳县| 永和县| 康马县| 博野县| 茂名市| 和平区| 光山县| 屯昌县| 滕州市| 仁寿县| 桓仁| 天镇县| 商河县| 南城县| 南丰县| 沂源县| 靖安县| 镇巴县| 白玉县| 广东省| 沂南县| 武清区| 佛坪县| 木兰县| 宕昌县| 内乡县| 旬邑县| 奈曼旗|