我必須編寫一個程序,允許用戶輸入任意數量的數字,並確定哪個數字最大,最小,總和是多少,以及所有數字的平均值進入。我是否被迫使用數組來做到這一點,或者有另一種方式嗎?如果我必須使用一個數組,有人可以幫我解釋一下我應該如何處理這個問題嗎?謝謝在UNIX中的bash shell中編寫程序
-1
A
回答
0
你不需要一個數組。只保留迄今爲止最大和最小的數字,數字和總數。平均值只是sum/count
。
要讀取輸入,可以在while
循環中使用read
。
0
簡單直接的嘗試,有一些問題:
#!/bin/bash
echo "Enter some numbers separated by spaces"
read numbers
# Initialise min and max with first number in sequence
for i in $numbers; do
min=$i
max=$i
break
done
total=0
count=0
for i in $numbers; do
total=$((total+i))
count=$((count+1))
if test $i -lt $min; then min=$i; fi
if test $i -gt $max; then max=$i; fi
done
echo "Total: $total"
echo "Avg: $((total/count))"
echo "Min: $min"
echo "Max: $max"
與/ bin/sh的,所以你實際上並不需要的bash,這是一個更大的外殼也進行測試。另請注意,這隻適用於整數,平均值被截斷(不是舍入)。
對於浮點,可以使用bc。使用
import sys
from functools import partial
sum = partial(reduce, lambda x, y: x+y)
avg = lambda l: sum(l)/len(l)
numbers = sys.stdin.readline()
numbers = [float(x) for x in numbers.split()]
print "Sum: " + str(sum(numbers))
print "Avg: " + str(avg(numbers))
print "Min: " + str(min(numbers))
print "Max: " + str(max(numbers))
你可以在bash嵌入它:但不是多次下探到不同的解釋,爲什麼不把它寫在一些更適合的問題,如蟒蛇Python或Perl中,如一個這裏的文檔,看到這個問題:How to pipe a here-document through a command and capture the result into a variable?
相關問題
- 1. unix bash shell腳本寫作
- 2. 如何在unix中編寫addtion程序
- 3. SAS程序調用UNIX Bash Shell腳本
- 4. UNIX Shell編程 - 庫存程序
- 5. Bash shell程序
- 6. 編寫一個bash腳本在UNIX中運行一個matlab程序?
- 7. 的bash shell程序
- 8. 編寫運行cygwin bash並執行程序的shell腳本
- 9. 在Java中編寫unix kill
- 10. 使用bash shell的浮點在UNIX
- 11. 編寫文件的shell程序的subprocess.call()
- 12. 使用bash編寫Unix過濾器
- 13. 如何在UNIX中爲C程序編寫makefile
- 14. 編寫linux shell
- 15. 如何在bash shell腳本中編寫這種for循環?
- 16. 如何在沒有UNIX的Windows PC上執行UNIX Shell編程?
- 17. 在Bash Shell中是否存在像Bash中的進程替換?
- 18. 在Windows中的gcc無法編譯爲Unix/Linux編寫的C程序
- 19. Unix - 在shell腳本中排序
- 20. 在Unix Shell腳本中排序輸入
- 21. 在shell腳本中觸發UNIX序列
- 22. bash腳本編寫shell命令
- 23. 在bash/shell/unix中刪除給定範圍的文件
- 24. 在bash shell腳本(在unix中)重新加載.profile?
- 25. 編寫一個shell程序stdout
- 26. 我們如何在UNIX shell腳本中對此進行編程?
- 27. Bash shell程序啓動C程序
- 28. 在UNIX bash shell腳本中創建'yes'或'no'菜單
- 29. 如何顯示在Unix中的bash,tsch,ksh shell以相反順序排序的進程列表
- 30. 報價在UNIX shell中
一個更具描述性的主題也可以。 – mgarciaisaia 2013-04-29 22:33:12