本文由 发布,转载请注明出处,如有问题请联系我们! 发布时间: 2021-03-24【PHP实例】实现九九乘法表的几种方法(三种循环、四种角度、一种递归)

加载中

用php实现九九乘法表是一个面试遇到的实操题,今天把它来总结下。对老手来说这算不得什么,很容易。但对我这样的新手来讲,通过不同的方法来写还挺锻炼逻辑思维的。

  1. <?php   

  2.   

  3. //一、使用for循环打印九九乘法表:  

  4. for($j=1; $j<=9; $j++) {  

  5. for($i=1; $i<=$j$i++) {  

  6. echo "{$i}x{$j}=".($i*$j)." ";  

  7. }  

  8. echo "<br />";  

  9. }  

  10.   

  11. //二、使用while循环打印九九乘法表  

  12.   

  13. $j = 1;  

  14. while($j<=9){  

  15. $i = 1;  

  16. while($i<=$j){  

  17. echo "{$i}x{$j}=".($i*$j)." ";  

  18. $i++;  

  19. }  

  20. echo "<br />";  

  21. $j++;  

  22. }  

  23.   

  24.   

  25.   

  26. //三、使用do while循环打印九九乘法表  

  27. $j = 1;  

  28. do {  

  29. $i = 1;  

  30. do {  

  31. echo "{$i}x{$j}=".($i*$j)." ";  

  32. $i++;  

  33. while($i<=$j);  

  34. echo "<br />";  

  35. $j++;  

  36. while($j<=9);  

  37.   

  38. //下面使用for循环以表格形式输出九九乘法表  

  39. //角度一:(最普通的常规写法)  

  40.   

  41. echo "<table border='1'>";  

  42. for($j=1;$j<=9;$j++){  

  43. echo "<tr>";  

  44. for($i=1;$i<=$j;$i++){  

  45. echo "<td>{$i}*{$j}=".($i*$j)."</td>";  

  46. }  

  47. echo "</tr>";  

  48. }  

  49. echo "</table>";  

  50.   

  51. //角度二:(与常规写法成X轴对称)  

  52.   

  53.   

  54. echo "<table border='1'>";  

  55. for($j=9;$j>=1;$j--){  

  56. echo "<tr>";  

  57. for($i=1;$i<=$j;$i++){  

  58. echo "<td>{$i}*{$j}=".($i*$j)."</td>";  

  59. }  

  60. echo "</tr>";  

  61. }  

  62. echo "</table>";  

  63.   

  64.   

  65. //角度三:(与角度二成Y轴对称)  

  66.   

  67. echo "<table border='1'>";  

  68. for($j=9;$j>=1;$j--){  

  69. echo "<tr>";  

  70. for($z=0;$z<9-$j;$z++){  

  71. echo "<td> </td>";  

  72. }  

  73. for($i=1;$i<=$j;$i++){  

  74. echo "<td>{$i}*{$j}=".($i*$j)."</td>";  

  75. }  

  76. echo "</tr>";  

  77. }  

  78. echo "</table>";  

  79.   

  80. //角度四:(与常规写法成Y轴对称)  

  81.   

  82. echo "<table border='1'>";  

  83. for($j=1;$j<=9;$j++){  

  84. echo "<tr>";  

  85. for($z=0;$z<9-$j;$z++){  

  86. echo "<td> </td>";  

  87. }  

  88. for($i=$j;$i>=1;$i--){  

  89. echo "<td>{$i}*{$j}=".($i*$j)."</td>";  

  90. }  

  91. echo "</tr>";  

  92. }  

  93. echo "</table>";  

  94.   

  95.   

  96.   

  97. //递归写法  

  98.   

  99. // @param int : $i  个数  

  100. // @param int : $k  层数  

  101.   

  102. function rideNum($i=1, $k=1){  

  103.     if($i >= 10 || $k >= 10){exit;}  

  104.     echo $i.'x'.$k.'='.$i*$k.'  ';  

  105.    

  106.     # 外层与个数相同,换行并进行下一页  

  107.     if($i == $k){   

  108.         echo '<br/>';  

  109.         rideNum(1,$k+1);  

  110.     }  

  111.     # 个数未尽,继续+1, 本行继续输出  

  112.     rideNum($i+1, $k);  

  113. }  

  114. rideNum(1,1);  


评论(0条)

刀客源码 游客评论