免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1367 | 回复: 5
打印 上一主题 下一主题

编了个九九*法表出了点问题大家看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-22 19:46 |只看该作者 |倒序浏览

  1. #!/bin/bash
  2. m=1
  3. while [ $m -le 9 ];
  4. do
  5.    n=1
  6.    while [ $n -le $m ];
  7.    do
  8.       printf "$nx$m "
  9.       n=`expr $n + 1`
  10.    done
  11.    echo
  12.    m=`expr $m + 1`
  13. done
复制代码

为何得不到想要结果?正确的代码已经有了,只是想搞清为何出现意外结果.谁能告诉我? [/code]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-04-22 20:59 |只看该作者

编了个九九*法表出了点问题大家看看

原帖由 "footfly" 发表:
#!/bin/bash
m=1
while [ $m -le 9 ];
do
   n=1
   while [ $n -le $m ];
   do
      printf "$nx$m "
      n=`expr $n + 1`
   done
   echo
   m=`expr $m + 1`
done
#!/bin/bash
m=1
while [ $m -le 9 ];
do
   n=1
   while [ $n -le $m ];
   do
      printf "$((n*m)) "
      n=`expr $n + 1`
   done
   echo
   m=`expr $m + 1`
done

论坛徽章:
0
3 [报告]
发表于 2004-04-22 21:10 |只看该作者

编了个九九*法表出了点问题大家看看

论坛徽章:
0
4 [报告]
发表于 2004-04-22 22:22 |只看该作者

编了个九九*法表出了点问题大家看看

TO:admirer
Thank you

嗯...是那里错了,但程序并没报错且给出结果.
结果:
1
2 2
3 3 3
..........
想知道为何会是这样.帮忙解释下.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-04-22 23:07 |只看该作者

编了个九九*法表出了点问题大家看看

#!/bin/bash
m=1
while [ $m -le 9 ];
do
n=1
while [ $n -le $m ];
do
printf "$nx$m "
n=`expr $n + 1`
done
echo
m=`expr $m + 1`
done

运行结果。
  1. 1
  2. 2 2
  3. 3 3 3
  4. 4 4 4 4
  5. 5 5 5 5 5
  6. 6 6 6 6 6 6
  7. 7 7 7 7 7 7 7
  8. 8 8 8 8 8 8 8 8
  9. 9 9 9 9 9 9 9 9 9
复制代码
#!/bin/bash
m=1
while [ $m -le 9 ];
do
n=1
while [ $n -le $m ];
do
printf "${n}x$m "
n=`expr $n + 1`
done
echo
m=`expr $m + 1`
done

运行结果
  1. 1x1
  2. 1x2 2x2
  3. 1x3 2x3 3x3
  4. 1x4 2x4 3x4 4x4
  5. 1x5 2x5 3x5 4x5 5x5
  6. 1x6 2x6 3x6 4x6 5x6 6x6
  7. 1x7 2x7 3x7 4x7 5x7 6x7 7x7
  8. 1x8 2x8 3x8 4x8 5x8 6x8 7x8 8x8
  9. 1x9 2x9 3x9 4x9 5x9 6x9 7x9 8x9 9x9
复制代码

知道差在什么地方了?

论坛徽章:
0
6 [报告]
发表于 2004-04-26 12:02 |只看该作者

编了个九九*法表出了点问题大家看看

又改了改----可以加个参数

  1. #!/bin/bash
  2. m=1
  3. if [ $# -lt 1 ];then
  4.    while [ $m -le 9 ];
  5.    do
  6.      n=1
  7.      while [ $n -le $m ];
  8.      do
  9.        printf "$n"x"$m "
  10.        n=`expr $n + 1`
  11.      done
  12.      echo
  13.      m=`expr $m + 1`
  14.    done
  15. else
  16.    while [ $m -le $1 ];
  17.    do
  18.      n=1
  19.      while [ $n -le $m ];
  20.      do
  21.        printf "$n"x"$m "
  22.        n=`expr $n + 1`
  23.      done
  24.      echo
  25.      m=`expr $m + 1`
  26.    done
  27. fi
复制代码

参数不宜太大,当个练习吧-----别骂我灌水哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP