免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: chinaboywg
打印 上一主题 下一主题

申请置顶!使用SHELL写双色球选号程序---代码征集! [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-09-02 14:46 |显示全部楼层
回复 57# welcome008
  1. #/bin/bash
  2. echo 1|awk '{for( a = 1;a<=33;a++) \
  3. for( b = 1;b<=33;b++) \
  4.         if ( b != a) \
  5.                 for( c = 1;c<=33;c++) \
  6.                         if ( c != a && c != b ) \
  7.                                 for( d = 1;d<=33;d++) \
  8.                                         if ( d != c && d != b && d != a ) \
  9.                                                 for( e = 1;e<=33;e++) \
  10.                                                         if ( e != d && e != c && e != b && e != a ) \
  11.                                                                 for( f = 1;f<=33;f++) \
  12.                                                                         if ( f != e && f != d && f != c && f != b && f != a &&  a < b && b < c && c < d && d < e && e < f ) \
  13.                                                                                 s=`expr $a + $b + $c + $d + $e + $f` ) \
  14.                                                                                 if [ $s -ge 40 ]  && [ $s -gt 150 ] \
  15.                                                                                 printf("%02d %02d %02d %02d %02d %02d\n",a,b,c,d,e,f)}'
  16. ~
  17. ~
复制代码
这个为什么总是在   s=`expr $a + $b + $c + $d + $e + $f` ) \
报错。应该如何写?

论坛徽章:
0
22 [报告]
发表于 2010-09-03 01:24 |显示全部楼层
呵呵 俺已经写出来了
原来AWK中不能用expr做加减计算,直接+ ,- 就可以了
  1. #/bin/bash
  2. echo 1|awk '{for( a = 1;a<=33;a++) \
  3. for( b = 1;b<=33;b++) \
  4. if ( b != a) \
  5. for( c = 1;c<=33;c++) \
  6. if ( c != a && c != b ) \
  7. for( d = 1;d<=33;d++) \
  8. if ( d != c && d != b && d != a ) \
  9. for( e = 1;e<=33;e++) \
  10. if ( e != d && e != c && e != b && e != a ) \
  11. for( f = 1;f<=33;f++) \
  12. if ( f != e && f != d && f != c && f != b && f != a && a < b && b < c && c < d && d < e && e < f) \
  13. if ( s=a + b + c + d + e + f)\
  14. if ( s<=150 && s>=40)
  15. printf("%02d %02d %02d %02d %02d %02d %02d\n",a,b,c,d,e,f,s)}'

复制代码

论坛徽章:
0
23 [报告]
发表于 2010-09-03 14:12 |显示全部楼层
08 的时候写了个, 现在找不到了!  
中个 5元还是可以的!
hylinux 发表于 2010-09-03 11:54



    那你再写个吧

论坛徽章:
0
24 [报告]
发表于 2010-09-08 11:01 |显示全部楼层
{:3_182:}

论坛徽章:
0
25 [报告]
发表于 2010-09-08 11:29 |显示全部楼层
{:3_182:}

论坛徽章:
0
26 [报告]
发表于 2010-11-10 14:56 |显示全部楼层
{:3_193:}

论坛徽章:
0
27 [报告]
发表于 2011-02-14 10:02 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP