早教吧作业答案频道 -->数学-->
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-05-17 …
又见面了.像SO2和足量氢氧化钾溶液反应的化学方程式怎么配平?SO2+KOH=K2SO3+H2O, 2020-05-24 …
用1:10000的比例尺画图,并按要求填空(精确到0.1):某人在O点的北偏东60°方向上,距O点 2020-06-04 …
如何判断压强变大还是变小了O.O唉这个上面我一直没有搞清楚,现在不光做物理做化学也出现障碍了TAT 2020-06-07 …
一.计算.2+9分之=3-6分之5=0+5分之4=二.填空.1.9分之4是()个9分之1,9个11 2020-06-27 …
怎么理解键能越大,物质越稳定,而能量越大,物质越不稳定?还是拆开共价键所需的能量叫做键能,那么合成 2020-07-07 …
△o-☆=4☆-o△=8△×o×☆=210(☆-o)×(☆△)=希望你们能看得懂.我需要一个解题的 2020-07-09 …
求给以下算法复杂度排序增长速度由慢到快1)O(n^(3/4))O(log(n)^5)O(2^n)O 2020-07-23 …
用竖式计算,并验算.①6.8÷o.h②4.6÷1.h③h.4÷o.18④h.h8÷8.6⑤h.98 2020-07-29 …
帮我写英语作文作文内容要围绕:"你为什么要来这里读书,读书是为了什么的,在这边想不想做改变,要怎么改 2021-02-05 …