谁能帮我写一个产生算术题的脚本?

谁能帮我写一个产生算术题的脚本?

谁能帮我写一个产生算术题的脚本?

由0到9的10个数字中随机取两个数字,在随机从加、减、乘、除中取一个符号组成一个算术题,如1X2、4+3、6/3等这样的题目,每运行一次产生100个这样的题目,并把100个这样的题目送入到一个文件中,文件中的每个题目单独一行。
难道没有人会吗?
主要就是如何生成指定位数的随机数,这可以参看2002的夏天的教本
[quote:5c6d463a40="demonlj"]主要就是如何生成指定位数的随机数.....[/quote]
方法1:不足位添0
方法2:不足位递归添随机数
方法3:...
方法4:...

方法1 函数代码如下(korn shell):[code:1]
function in_range_fixed_length_random_number
{
#create a pseudo-random number less than or equal
#to the $UPPER_LIMIT value ,which is user defined.
#this function will also pad the output with leading
#zeros to keep the number of digits consistent.

RANDOM_NUMBER=$(($RANDOM % $UPPER_LIMIT + 1))

#find the length of each character string

RN_LENGTH=$(echo ${#RANDOM_NUMBER})
UL_LENGTH=$(echo ${#UPPER_LIMIT})

#calculate the difference in string length

(( LENGTH_DIFF = UL_LENGTH -RN_LENGTH))

#pad the $RANDOM_NUMBER value with leading zeros
#to keep the number of digits consistent.

case $LENGTH_DIFF in
0) echo "$RANDOM_NUMBER"
;;
1)  echo "$RANDOM_NUMBER0"
;;
2)  echo "$RANDOM_NUMBER00"
;;
3)  echo "$RANDOM_NUMBER000"
;;
4)  echo "$RANDOM_NUMBER0000"
;;
5)  echo "$RANDOM_NUMBER00000"
;;
*)  echo "$RANDOM_NUMBER"
;;
esac
}[/code:1]
略显复杂,可以用筛选的办法
[code:1]#!/bin/bash
#MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+="
MATRIX="0123456789"
LENGTH="1"
while [ "${n:=1}" -le "$LENGTH" ]
do
       PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
       let n+=1
done
       echo "$PASS"
exit 0[/code:1]