LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 806|回复: 4

数字求和的问题

[复制链接]
发表于 2005-6-22 23:59:59 | 显示全部楼层 |阅读模式
写一个脚本文件,对命令行传给的数字参数求和并显示结果。程序中要求使用FOR循环。例如:若该程序名为SUM,用户输入:
$ SUM 10 20 30  
则程序显示如下:
10 + 20 + 30 = 60


×××××××××××××××××××××××××××
初学,老是弄不明白,
发表于 2005-6-23 09:32:13 | 显示全部楼层

  1. sum=0
  2. for num in $*;do
  3.     ((sum+=num))
  4. done
  5. echo $*|awk '{gsub(/ /,"+");print $0"="'"$sum"'}'
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-6-23 09:55:59 | 显示全部楼层
好简洁,支持,我是脚本新手,也写上自己的

#!/bin/bash
sum=0
i=1
for var in $* ;do
        if [ $i -ne $# ]; then
                echo -n "$var + "
        else
                echo -n "$var = "
        fi
        sum=`expr $sum + $var`
        i=`expr $i + 1`
done
echo $sum
回复 支持 反对

使用道具 举报

发表于 2005-6-23 10:12:17 | 显示全部楼层
  1. #!/bin/bash

  2. sum=0
  3. for ARG in $*
  4. do
  5. sum=$((sum+$ARG))
  6. echo -n "$ARG+"
  7. done
  8. echo -e "\b=$sum"
复制代码


也可用sed来替换$*中的空格
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-23 10:25:16 | 显示全部楼层
呵呵,谢谢大家,我再研究一下,几个细节没处理好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表