phfb.net
当前位置:首页 >> 关于linux shEll 求1到100奇数之和的问题 >>

关于linux shEll 求1到100奇数之和的问题

#!/bin/bashsum1=0sum2=0for((i=1;ido if [ $((i%2)) -eq 0 ];then ((sum1+=i)) else ((sum2+=i)) fidoneecho "偶数和是 $sum1"echo "奇数和是 $sum2"

#!/usr/bin/ksh cal_id=1 num_count=100 sum_num=0 while [ $cal_id -le $num_count ] do sum_num=`expr $cal_id + $sum_num` cal_id=`expr $cal_id + 1` done echo $sum_num

这里 i 是当做计数器用的,每次循环递增1.r 是当做累加器用的,将 i 的值进行累加. =,即,应该写成 while [ $i -ne 100 ]下面是个更为简单的实现,你可以体会一下(shell

仅在bash下测试过了 let "sum=0" for i in {1..10} do let "m=i%2" if [ "$m" -eq 1 ] then let "sum=sum+i" fi done echo "the sum is :$sum"

水仙花数至少要三位数,所以不存在 1到100之间的水仙花数.下面是用bash shell求 100 到 999的水仙花数程序.#!/bin/bash for (( a=1; a<10; a++ )) do for (( b=0; b<10; b++ )) do for (( c=0; c<10; c++ )) do number1=$((a*100+b*10+c)) number2=$((a**3+b**3+c**3)) if [ $number1 -eq $number2 ]; then echo "Found number $number1" fi done done done

#!/bin/bash for i in {1..4} do let sum=$sum+$i*$i done echo $sum

菜单建议用case语句,求和的话用for语句.#!/bin/bash J=0 do for I in 0 to 100 J = $I + $J done 类似这样求和吧,具体的内容,可以百度一下,很多的.

#!/bin/bash i=1 sum=0 while [ $i -le 100 ]; do sum=$((sum+i)) i=$((i+1)) done echo "SUM=$sum"

sum=0;for i in {1..100};do sum=$(($sum+1));done;echo $sum

#!/bin/bash declare -i sum declare -i i i=1 while [ $i -le 100 ]; do sum=$sum+$i*$i i=$i+1 done echo $sum 注意里面得空格,不能随意删减.

网站首页 | 网站地图
All rights reserved Powered by www.phfb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com