早教吧作业答案频道 -->数学-->
LINUXshell遇到的问题.我想计算1+2+3+4.到100我想计算1+2+3+4.到100,用while写的.麻烦看下.我不懂的地方是那个r的变量、#!/bin/bashr=0i=0while["$i"!="100"]doi=$(($i+1))r=$(($r+$i))doneecho$rR的
题目详情
LINUX shell 遇到的问题. 我想计算1+2+3+4.到100
我想计算1+2+3+4.到100,用while 写的.麻烦看下. 我不懂的地方是那个r的变量、
#!/bin/bash
r=0
i=0
while [ "$i" != "100" ]
do
i=$(($i+1))
r=$(($r+$i))
done
echo $r
R的变量也是循环100次么. 这里没有定义循环的次数for, R 是怎么获取的.谢谢
我想计算1+2+3+4.到100,用while 写的.麻烦看下. 我不懂的地方是那个r的变量、
#!/bin/bash
r=0
i=0
while [ "$i" != "100" ]
do
i=$(($i+1))
r=$(($r+$i))
done
echo $r
R的变量也是循环100次么. 这里没有定义循环的次数for, R 是怎么获取的.谢谢
▼优质解答
答案和解析
这里 i 是当做计数器用的,每次循环递增1.r 是当做累加器用的,将 i 的值进行累加.
这里没有用for循环,而是用的while循环,其实是一样的,而且while循环更为通用(sh不支持for循环).
循环的次数也是有定义的,while [ "$i" != "100" ]这句就是定义,只要 i 没递增到100,就会一直循环.其实这句从语义上来说是不对的,这里是整数的比较而不是字符串的比较,所以比较符应该用-ne而不要用!=,即,应该写成 while [ $i -ne 100 ]
下面是个更为简单的实现,你可以体会一下(shell中的变量其实不需要初始化,自有其默认值).
#!/bin/bash
for i in {1..100}
do
r=$((r+i))
done
echo $r
这里没有用for循环,而是用的while循环,其实是一样的,而且while循环更为通用(sh不支持for循环).
循环的次数也是有定义的,while [ "$i" != "100" ]这句就是定义,只要 i 没递增到100,就会一直循环.其实这句从语义上来说是不对的,这里是整数的比较而不是字符串的比较,所以比较符应该用-ne而不要用!=,即,应该写成 while [ $i -ne 100 ]
下面是个更为简单的实现,你可以体会一下(shell中的变量其实不需要初始化,自有其默认值).
#!/bin/bash
for i in {1..100}
do
r=$((r+i))
done
echo $r
看了 LINUXshell遇到的问...的网友还看了以下:
初中化学有关相对分子质量的计算解题过程怎么写1.计算相对分子质量2.计算物质组成元素的质量比3.计 2020-04-08 …
在常见的统计图中,能清楚地反映各事物之间的变化情况的统计图是()A.扇形统计图B.频数分布直方图C 2020-04-08 …
如图给出的是计算12+14+16+…+120的值的一个框图,其中菱形判断框内应填入的条件是()A. 2020-04-15 …
某文具店决定购进甲、乙两种品牌的计算器,若购进甲种计算器3台,乙种计算器2台,需要470元;若购进 2020-04-27 …
统计学的计算题某企业10月份的生产情况如下表:单位:台资料如下实际产量计划产量第一车间440400 2020-05-13 …
关于阻抗的计算.Z=U/I=120∠0°/8∠-53.1°=15∠-53.1°=9+j12Ω这个事 2020-05-13 …
利用相关比率法进行利润预测的计算方法是 A.预计销售量×资金利润率 B.预计销售收入×销售收入利润 2020-05-17 …
求VBA的计算公式ActiveCell.FormulaR1C1="=COUNTA("&CStr(A 2020-05-21 …
我国现有的统计检查员有()。A.专职统计检查员B.科研统计员C.统计检查特派员D.兼职统计检查员E. 2020-05-21 …
统计法所称的统计人员,是指从事统计活动的专职工作人员,包括各级政府统计机构、部门统计机构、乡镇 2020-05-30 …