佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1421|回复: 13

programming练习题by php

[复制链接]
发表于 6-8-2007 10:25 PM | 显示全部楼层 |阅读模式
output :


这是我朋友的练习题目,以下是我的做法。。

  1. <?php

  2. $i = 0;
  3. $maxLength = $numOfLoop = 6;
  4. $y = 0 ;

  5. while (true) {
  6.   if ($i >= $maxLength) {
  7.     $i = ($maxLength -= 1);
  8.   } else {
  9.     $i += 1;
  10.   }

  11.   if ($i<=0) {
  12.       $maxLength = ($numOfLoop -= 1);
  13.       $str .= "\n";

  14.       $y++;
  15.       for ($x=0;$x<$y;$x++) {
  16.         $str .= " ";
  17.       }
  18.       if ($numOfLoop <=0) break;
  19.   } else {
  20.       $str .= $i;
  21.   }
  22. }

  23. ?>

  24. <textarea cols=40 rows=10>
  25. <?php echo $str;?>
  26. </textarea>
复制代码


各位可以分享你们的做法吗???

[ 本帖最后由 ikanyuchiew 于 6-8-2007 10:30 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 8-8-2007 10:00 PM | 显示全部楼层
如果是我的话。。。
我会用两个

for(){



来做
回复

使用道具 举报

 楼主| 发表于 9-8-2007 12:05 AM | 显示全部楼层

回复 #2 小陈陈 的帖子

如果你得空的话,麻烦你也来几招。

这是我朋友在某间australia大学的练习题来的
回复

使用道具 举报

发表于 11-8-2007 09:24 AM | 显示全部楼层
原帖由 ikanyuchiew 于 9-8-2007 12:05 AM 发表
如果你得空的话,麻烦你也来几招。

这是我朋友在某间australia大学的练习题来的
  1. echo "
  2. 12345654321
  3.   123454321
  4.    1234321
  5.     12321
  6.       121
  7.          1
  8. ";
复制代码
绝招来的
回复

使用道具 举报

发表于 11-8-2007 10:54 AM | 显示全部楼层
原帖由 小陈陈 于 11-8-2007 09:24 AM 发表
echo "
12345654321
  123454321
   1234321
    12321
      121
         1
";绝招来的


高明。。。但是你忘了放<br />了。。。不美丽了。。
回复

使用道具 举报

 楼主| 发表于 12-8-2007 10:43 AM | 显示全部楼层
用最快的方法就是最好的方法,好招好招
回复

使用道具 举报

Follow Us
发表于 12-8-2007 08:50 PM | 显示全部楼层
原帖由 zuying1985 于 11-8-2007 10:54 AM 发表


高明。。。但是你忘了放了。。。不美丽了。。


对哦
回复

使用道具 举报

发表于 12-8-2007 08:51 PM | 显示全部楼层
原帖由 ikanyuchiew 于 12-8-2007 10:43 AM 发表
用最快的方法就是最好的方法,好招好招


有时可以用最笨的方法来解决一些东西。。。。。

各位大哥大姐。。不要shot我
回复

使用道具 举报


ADVERTISEMENT

发表于 13-8-2007 01:27 PM | 显示全部楼层
这是我的方法。
  1. <?php
  2. $minnum = 1;
  3. $nspace = 0;

  4. for ($i=6;$i >= $minnum;$i--)
  5. {
  6.    for($j=1;$j <= $i;$j++)
  7.    {
  8.       echo $j;
  9.     }
  10.     for($k=$i-1;$k >= 1;$k--)
  11.    {
  12.       echo $k;
  13.     }
  14.     echo "<br>";
  15.     $nspace++;
  16.     for($s=1;$s <= $nspace;$s++)
  17.     {
  18.       echo "&nbsp ; ";
  19.      }
  20. }
  21. ?>
复制代码

[ 本帖最后由 chewkit 于 13-8-2007 01:36 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 13-8-2007 03:08 PM | 显示全部楼层

回复 #9 chewkit 的帖子

你做得很工整,容易明白,

我的朋友一定很开心了,因为题目是说要用for loop的

thanks
回复

使用道具 举报

发表于 28-8-2007 08:29 AM | 显示全部楼层
$row = 6;
for($x=row; $x > 0; $x--)
{
   for($space=0; $space < ($row-$x); $space++)
   {
    echo " ";
   }
   for($y=1; $y <= $x; $y++)
   {
    echo y;
   }
   for($z=x-1; $z > 0 ; $z--)
   {
    echo z;
   }

echo "\n";
}
回复

使用道具 举报

发表于 28-8-2007 10:42 AM | 显示全部楼层
好久没做这种习题... 真怀念。

<?php

$loop = 6;
for ($x = ($loop+1); $x > 0; $x--) {
  
  $str = "";
  
  for ($y = 1; $y < $x; $y++) $str .= $y;      
  for ($z = -1; $z < ($loop - $x); $z++) echo " ";
  
  echo $str.strrev(substr ($str, 0, ($x-2)));
  echo "\n";
   
}


?>



[ 本帖最后由 goatstudio 于 28-8-2007 11:10 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 28-8-2007 11:24 PM | 显示全部楼层

回复 #12 goatstudio 的帖子

大家好象在 optimizing...

谢谢楼上二位的coding ...相信很多programmer也很怀念类似的问题
回复

使用道具 举报

发表于 1-9-2007 11:09 PM | 显示全部楼层
<?PHP
$maxline = 6;
$output = '';
for($x=$maxline; $x > 0; $x--)
{
  for($y = $x-1, $temp = $x; $y > 0; $y--) $temp = $y . $temp . $y;
  for($y=0, $spaces = '', $space_count = $maxline - $x - 1; $y <= $space_count; $y++) $spaces .= ' ';
  $output .= $spaces . $temp . $spaces . "\n";
}
echo $output;
?>
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 16-9-2025 02:10 AM , Processed in 0.162520 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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