script050
题目
计算 1+2+3+……+100
的多个算法。
分析
本题考查的知识点:
for
循环语句$(())
运算for...in
循环语句seq
命令while
循环语句until
循环语句
思路:
unitl
循环语句与while
循环语句类似,但是是当条件不满足时才执行循环体语句,当条件满足时退出循环。seq
命令可以用来生成一系列数字。
脚本
#!/bin/bash
####################################
#
# 功能:计算 1+2+3+……+100 的多个算法。
#
# 使用:直接调用脚本,然后输入 10 个数
#
####################################
# 第一种方式
# 变量,记录总和
sum=0
# 使用 for 循环从 1 到 100 的所有数字
for (( i = 1; i <= 100; i++ )); do
# 计入到总和中
sum=$(($sum+$i))
done
# 打印结果
echo "1+2+3+……+100=$sum"
# 第二种方式
# 变量,记录总和
sum=0
# 使用 for...in 循环从 1 到 100 的所有数字
for i in $(seq 100) ; do
# 计入到总和中
sum=$(($sum+$i))
done
# 打印结果
echo "1+2+3+……+100=$sum"
# 第三种方式
# 变量,记录总和
sum=0
# 循环变量
i=1
# 使用 while 循环从 1 到 100 的所有数字
while [ $i -le 100 ]; do
# 计入到总和中
sum=$(($sum+$i))
# 更新循环变量
i=$(($i+1))
done
# 打印结果
echo "1+2+3+……+100=$sum"
# 第四种方式
# 变量,记录总和
sum=0
# 循环变量
i=1
# 使用 until 循环从 1 到 100 的所有数字
until [ $i -gt 100 ]; do
# 计入到总和中
sum=$(($sum+$i))
# 更新循环变量
i=$(($i+1))
done
# 打印结果
echo "1+2+3+……+100=$sum"
测试
执行 ./script050.sh
调用脚本。