LinuxSir.cn,穿越时空的Linuxsir!

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

昨天百度笔试的一小题,求解

[复制链接]
发表于 2007-10-16 15:15:53 | 显示全部楼层 |阅读模式
baidu4中有一行以空格隔开的十进制数,用shell编程求出它们的和并打印。
我shell不行,用php写了一个。
求正解。
发表于 2007-10-16 15:33:09 | 显示全部楼层
var='1 2 3 4 5'
r=0

for num in $var;do
  r=$(expr $num + $r)
done
echo $r
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 18:21:41 | 显示全部楼层
1 2 3 4 5是写在baidu4这个文件里的一行,
怎么取到这一行呢?
回复 支持 反对

使用道具 举报

发表于 2007-10-16 21:10:12 | 显示全部楼层
FILE="baidu4"
read line < $FILE

$line 里面现在就是 baidu4 的内容了.
回复 支持 反对

使用道具 举报

发表于 2007-10-17 08:53:58 | 显示全部楼层

  1. echo $(( $(sed 's/ \+/+/g' BAIDU4) ))
复制代码

纯粹是写着玩,严密性与实用性远远不如用循环分别求加,比如前导或随后的空格就会导致执行错误
回复 支持 反对

使用道具 举报

发表于 2007-10-17 09:24:07 | 显示全部楼层
remote fish 's method is so powerful!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-17 17:40:36 | 显示全部楼层
各位都是高人,谢谢,remote fish的答案太震撼了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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