乘法表shell实现

点击查看代码

#!/bin/bash
# ==========================================================
# 函数:检查输入合法性
# 参数:$1 – 待检查的数字
# 返回:0=合法,1=非法
# ==========================================================
check_input() {
    local n="$1"
    if [ "$#" -ne 1 ] || \
       ! [ "$n" -ge 1 ] || \
       ! [ "$n" -le 9 ] 2>/dev/null; then
        return 1
    fi
    return 0
}

# ==========================================================
# 函数:打印 N×N 乘法表
# 参数:$1 – 已验证合法的 N(1-9)
# ==========================================================
print_table() {
    local n="$1"

    local i=1
    while [ "$i" -le "$n" ]; do
        local j=1
        local line=""
        while [ "$j" -le "$i" ]; do
            local result="$(( i * j ))"
            line="${line}${j}×${i}=${result}  "
            j="$(( j + 1 ))"
        done
        echo "$line"
        i="$(( i + 1 ))"
    done
}

# ==========================================================
# 主函数:入口
# ==========================================================
main() {
    if ! check_input "$@"; then
        echo "用法: $0 <1-9的数字>"
        exit 1
    fi
    print_table "$1"
}

main "$@"

posted @ 2025-08-07 10:29  balan学嵌入式  阅读(10)  评论(0)    收藏  举报