使用linux操作系统 for循环打印5行星号,第一行1个星号,第2行2个星号,第3行3个星号。。。。 打印九九乘法表。 输出1到100之间所有的素数。
时间: 2024-12-23 08:24:03 浏览: 3
在Linux shell中,你可以使用for循环结合字符串操作来实现这些任务:
1. 打印5行星号的序列:
```sh
#!/bin/bash
for i in {1..5}
do
echo -n "*"
[ $i -lt 5 ] && echo # 如果不是最后一行,在末尾添加换行符
done
echo # 结束后单独换行
# 输出结果示例:
# *
# **
# ***
# ****
# *****
```
2. 打印九九乘法表:
```sh
#!/bin/bash
for i in {1..9}
do
for j in {1..$i}
do
printf "%2d" "$j" # 保持每个数字对齐
[ $j -ne $i ] && printf " *" # 非对角线元素之间用空格隔开
done
echo # 每一行结束后换行
[ $i -ne 9 ] && echo "" # 表头之后每行末尾加空行
done
```
注意:上述代码中的`printf "%2d"`确保了每个数字都在两个字符宽度内。
3. 输出1到100之间的素数:
```sh
#!/usr/bin/env bash
is_prime() {
local num=$1
if [[ $num -lt 2 ]]; then return 1; fi
for ((i=2; i*i<=num; i++)); do
if [[ $((num%i)) -eq 0 ]]; then
return 1
fi
done
return 0
}
for ((num=2; num<=100; num++))
do
is_prime $num && echo $num # 如果是素数,则打印
done
```
运行这些脚本时,确保它们有执行权限(如`chmod +x script.sh`),然后通过`./script.sh`来运行。
阅读全文