为什么当我试图在所有分数上都犯 1 个错误时得到 0 个答案

-5 command-line scripts zsh

#!/bin/zsh
echo "enter quiz1 score:"
read quiz1
echo "enter quiz2 score:"
read quiz2
echo "enter seatwork score:"
read seatwork
echo "enter exam score:"
read exam
echo "enter lab1 score:"
read lab1
echo "enter lab2 score:"
read lab2
echo "enter lab3 score:"
read lab3

quiz1total=$((quiz1/20))
quiz2total=$((quiz2/30))
quiztotal=$(($quiz1total+$quiz2total))
quizaverage=$(($quiztotal*.20))
examtotal=$(($exam/50))
examaverage=$(($examtotal*.40))
seatworktotal=$((%seatwork/20))
seatworkaverage=$((seatworktotal*.20))
labtotal=$(($lab1+$lab2+$lab3))
labtotals=$(($labtotal/300))
labaverage=$(($labtotals*.20))
midterm=$(($quizaverage+$examaverage+$seatworkaverage+$labaverage))
midtermgrade=$(($midterm*100)
echo "your midterm grade is: $midtermgrade"
Run Code Online (Sandbox Code Playgroud)

Ser*_*nyy 5

zsh 将其/视为整数除法。使用.指示浮点数(例如,在quiz1total=$((quiz1/20))quiz1total=$((quiz1/20.))代替)。

$ echo $((1/20))
0
$ echo $((1./20))
0.050000000000000003
Run Code Online (Sandbox Code Playgroud)