用linxu使用while循环实现从1到100的偶数加和程序
时间: 2024-02-22 09:56:13 浏览: 21
可以使用如下的Shell脚本实现:
```bash
#!/bin/bash
sum=0
i=1
while [ $i -le 100 ]
do
if [ $((i%2)) -eq 0 ]
then
sum=$((sum+i))
fi
i=$((i+1))
done
echo "1到100的偶数和为:$sum"
```
在终端中运行该脚本即可得到结果。
相关问题
linux 用while语句编写求前五个偶数之和的shell程序
可以使用以下代码来实现:
```shell
#!/bin/bash
sum=0
count=0
num=0
while [[ $count -lt 5 ]]; do
if [[ $num%2 -eq 0 ]]; then
sum=$((sum+num))
count=$((count+1))
fi
num=$((num+1))
done
echo "前五个偶数之和为:$sum"
```
代码解释:
- `sum`:记录前五个偶数的和
- `count`:记录已经找到的偶数的个数,当其等于5时,停止查找
- `num`:从0开始递增,找到偶数时加到`sum`中,不是偶数时直接跳过
- `while`循环:当`count`小于5时进入循环,即查找前五个偶数
- `if`条件:判断当前的`num`是否为偶数,是则将其加到`sum`中,同时`count`加1
- `num`递增:每次循环结束,`num`递增1
- `echo`输出:输出前五个偶数的和
linux分别使用while 循环、until 循环和 for循环实现以下功能。 ①计算1~100内的所有整数之和。 ②计算1~100内的所有偶数之和。 ③计算1~100内的所有奇数之和
使用while循环实现:
①计算1~100内的所有整数之和。
```shell
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
sum=$(( $sum + $i ))
i=$(( $i + 1 ))
done
echo $sum # 5050
```
②计算1~100内的所有偶数之和。
```shell
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
if [ $(($i % 2)) -eq 0 ]
then
sum=$(( $sum + $i ))
fi
i=$(( $i + 1 ))
done
echo $sum # 2550
```
③计算1~100内的所有奇数之和。
```shell
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
if [ $(($i % 2)) -ne 0 ]
then
sum=$(( $sum + $i ))
fi
i=$(( $i + 1 ))
done
echo $sum # 2500
```
使用until循环实现:
①计算1~100内的所有整数之和。
```shell
#!/bin/bash
i=1
sum=0
until [ $i -gt 100 ]
do
sum=$(( $sum + $i ))
i=$(( $i + 1 ))
done
echo $sum # 5050
```
②计算1~100内的所有偶数之和。
```shell
#!/bin/bash
i=1
sum=0
until [ $i -gt 100 ]
do
if [ $(($i % 2)) -eq 0 ]
then
sum=$(( $sum + $i ))
fi
i=$(( $i + 1 ))
done
echo $sum # 2550
```
③计算1~100内的所有奇数之和。
```shell
#!/bin/bash
i=1
sum=0
until [ $i -gt 100 ]
do
if [ $(($i % 2)) -ne 0 ]
then
sum=$(( $sum + $i ))
fi
i=$(( $i + 1 ))
done
echo $sum # 2500
```
使用for循环实现:
①计算1~100内的所有整数之和。
```shell
#!/bin/bash
sum=0
for i in {1..100}
do
sum=$(( $sum + $i ))
done
echo $sum # 5050
```
②计算1~100内的所有偶数之和。
```shell
#!/bin/bash
sum=0
for i in {1..100}
do
if [ $(($i % 2)) -eq 0 ]
then
sum=$(( $sum + $i ))
fi
done
echo $sum # 2550
```
③计算1~100内的所有奇数之和。
```shell
#!/bin/bash
sum=0
for i in {1..100}
do
if [ $(($i % 2)) -ne 0 ]
then
sum=$(( $sum + $i ))
fi
done
echo $sum # 2500
```