LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 河边星星

我的意思是把( )等当成一个值后,串在一块后再解译再处理...怎么操作呢?

[复制链接]
发表于 2005-3-18 14:05:58 | 显示全部楼层
#!/bin/sh
a=1;b=2;c=+;echo `expr ${a} ${c} ${b}`
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-18 18:50:27 | 显示全部楼层
a0=1
a1=2
a2=3
a3=4
a4=5
a5=+
a7=*
a8=/
a9=(
a10=)
for b0 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
for b1 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
  for b2 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
   for b3 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
    for b4 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
     for b5 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
       for b6 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
         for b7 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
          for b8 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
           for b9 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
            for b10 in $a0 $a1 $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 ; do
               bb=$(($b0$b1$b2$b3$b4$b5$b6$b7$b8$b9$b10))
                              if [ $bb = 22 ] ; then
                   echo $(($b0$b1$b2$b3$b4$b5$b6$b7$b8$b9$b10))
                fi
done
done
done
done
done
done
done
done
done
done
done

可是这样过程中一定会有错误,请问如何不理错误,让bash继续执行呢?
回复 支持 反对

使用道具 举报

发表于 2005-3-20 17:57:10 | 显示全部楼层
首先我觉得特殊符号在定义时应该用双引号引用吧
a0="("
等.
至少在bash中得这样!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-20 18:17:27 | 显示全部楼层
谢谢,是的,我后面调试的时候也发现了还有)*
因为正确的结果在这个里面,可是这个bash运到了如*)或24等这种组合的时候就会over了。。而且我要的答案它还没有算出来叱
回复 支持 反对

使用道具 举报

发表于 2005-3-21 19:03:02 | 显示全部楼层
......
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-21 19:42:42 | 显示全部楼层
(1 2 3 4 5 + - * / ) 这些都只能用一次。。。得到值为22
回复 支持 反对

使用道具 举报

发表于 2005-3-21 19:57:46 | 显示全部楼层
您的意思就是编个程序来实现上面的题目,就是告诉你一些运算符号和数字只能使用一次而实现一个结果?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-31 18:57:05 | 显示全部楼层
是的...

因為如果組合不對就會停止繼續而導致結果沒出?..
回复 支持 反对

使用道具 举报

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

本版积分规则

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