linux课的第二次小作业,实现并打印小于9的任意整数的n*n乘法表。传上来权当备份了。
#!/bin/bash
[ $1 -gt 9 ]&&echo "failed: please input integer parameter that less than 10"&& return 0 #判断输入的参数是否大于9,如果大于9输出错误提示并结束;如果小于等于9则>继续执行
function square()
{
return $(($1*$2));
} #定义函数实现乘法
echo -n " " #输出空格
for ((i=1;i<=$1;i++))
do
echo -n "$i " #通过循环打印出第一行的乘数
done
echo #实现换行
for ((i=1; i<=$1; i++)) #遍历
do
echo -n "$i " #在每一行的开始打印出另外一个乘数
for ((j=1; j<=$1; j++))
do
square i j #调用乘法函数
s=$? #获得返回值
echo -n $s #打印返回值
[ $s -lt 10 ] && echo -n " "||echo -n " "
#如果乘积小于10,数字间输出两个空格;如果乘积大于等于
10,则数字间输出一个空格
done
echo #实现换行
done