用linux shell编写1+2+3+....+100的程序,问下哪里出错了?

#! /bin/bash
#echo 1~100
while [ $N -le 100 ]
do
echo $sum
sum=$((sum+N))
done
如果要只显示结果,该如何改?
我上面的程序运行的结果是 下面的这张图的无限向下运行..

第1个回答  2009-10-17
改为

#! /bin/bash

sum=0

while [ $sum -le 100 ]
do
x=$(( x + sum ))
((sum++))
done

echo $x

试试
第2个回答  2009-10-17
你写的这个while [ $N -le 100 ]错了,帮你改了一下,以下是程序
#!/bin/bash
echo 1~100
((sum=0))
((N=1))
while ((N<=100))
do
sum=$((sum+N))
N=$((N+1))
done
echo $sum
第3个回答  2009-10-17
#/bin/bash
#echo 1~100
while [ $N -le 100 ]
do
echo $sum
sum=expr `$sum + $N`
N=expr `$N + 1`
done

#sum=expr`$sum + $N`+两边是有空格的本回答被网友采纳
第4个回答  2009-10-17
declare @a int ,@b int
set @a=0
set @b=0
while @b<=100
begin
set@a=@a+@b
set@b=@b+1
end
print @a
相似回答