1.编写Shell脚本,打印给定行数的*号,第一行打印一个,第二行打印4个,每行递增3个,行数由用户在命令行上输入。程序运行结果如下:。如图所示: * * * * * * * * * * * *
时间: 2023-07-01 14:20:26 浏览: 231
可以使用如下的Shell脚本实现:
```shell
#!/bin/bash
# 获取用户输入的行数
read -p "请输入行数:" num
# 初始化星号数量为1
stars=1
# 循环打印每一行的星号
for ((i=1; i<=num; i++))
do
# 打印stars个星号
for ((j=1; j<=stars; j++))
do
echo -n "* "
done
echo "" # 换行
# stars递增3
((stars+=3))
done
```
运行脚本后,根据提示输入需要打印的行数即可得到对应的输出。例如输入6,则输出结果为:
```
*
* * * *
* * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
```
相关问题
编写Shell脚本,打印给定行数的*号,第一行打印一个,第二行打印4个,每行递增3个,行数由用户在命令行上输入。
好的,下面是Shell脚本的代码:
```bash
#!/bin/bash
if [ $# -eq 0 ]; then
echo "请输入行数作为参数!"
exit 1
fi
for (( i=1; i<=$1; i++ ))
do
for (( j=1; j<=4+(i-1)*3; j++ ))
do
echo -n "*"
done
echo ""
done
```
这个脚本中,首先进行了参数判断,如果没有输入行数则会提示用户输入并退出脚本。然后使用两个 for 循环来控制行数和每行打印的 * 号数量,其中内层循环的打印次数会随着行数的递增而逐渐增加。最后使用 echo 命令输出打印结果。
用c编写Shell脚本,打印给定行数的*号,第一行打印一个,第二行打印4个,每行递增3个,行数由用户在命令行上输入。
好的,以下是用c编写的Shell脚本代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
if (argc != 2) {
printf("Usage: ./print_star <num_lines>\n");
return 1;
}
int num_lines = atoi(argv[1]);
int num_stars = 1;
for (int i = 0; i < num_lines; i++) {
for (int j = 0; j < num_stars; j++) {
printf("*");
}
printf("\n");
num_stars += 3;
}
return 0;
}
```
用户输入命令行参数,程序将其转换为整数并存储在`num_lines`变量中。然后,使用`for`循环逐行打印星号。每一行的星号数量递增3个,从1开始。内层循环使用`printf`函数将星号打印到控制台上,外层循环则用于控制行数。
阅读全文