LINUX shell 遇到的问题。 我想计算1+2+3+4.到100

LINUX shell 遇到的问题。 我想计算1+2+3+4.到100,第1张

这里

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

#include <stdio.h>

int main(void)

{

    float i

    float sum = 0.0

    for(i=1.0i<=100.0i+=1.5)

        sum += i

        

    printf("%.1f\n",sum)

    

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/9001733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存