免费注册 查看新帖 |

Chinaunix

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

大赛评选结果已出,敬请关注!:PHP编程大赛隆重启动,PHP开发大挑战 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-09-19 18:21 |只看该作者
请使用一句话将类似“1910-09-09”的日期各式转换为“一九一零年九月九日”这样的各式。(需要有通用性,是不是一句话不是关键,但不允许使用if\switch\while\for等语句)。

echo strtr(date('Y年n月j日',
strtotime('1910-09-09')),
array(
  '0' => '零',  
  '1' => '一',  
  '2' => '二',  
  '3' => '三',  
  '4' => '四',  
  '5' => '五',  
  '6' => '六',  
  '7' => '七',  
  '8' => '八',  
  '9' => '九'
));

论坛徽章:
0
22 [报告]
发表于 2010-09-19 18:22 |只看该作者
JS下有一个字符串var str = '1|2|3|4|5|6#1|2|3|4#1|2|3|4|5|6|7|8'; 请用“#”号将其分割为数组,再用“|”将其分割为2维数组。可以用例如ary[0][0]这样的各式取出数组中的每个元素。最后输出其中最长数组的编号(1,2,3这样的自然数),这个数组中元素的个数。以及大数组中每个元素。如图:

<script>
var str = '1|2|3|4|5|6#1|2|3|4#1|2|3|4|5|6|7|8';
var str=str.split('#');
var len=str.length;
var max=0;
var array=new Array();
var row;

for(var i=0;i<len;i++)
{
        var arr=new Array();       
        arr[i]=str[i].split('|');
        var ilen=arr[i].length;
        if(ilen>max)
        {
                max=ilen;
                row=i+1;
        }
        array[i]=arr[i];
}
window.document.write("最长的列"+row+"<br/>");
window.document.write("长度为"+max+"<br/>");
var len=array.length;
for(var i=0;i<len;i++)
{
    window.document.write(array[i]+"<br/>");
}
</script>

论坛徽章:
0
23 [报告]
发表于 2010-09-19 18:23 |只看该作者
小球从10米高处自由下落,每次弹起的高度是下落高度的70%,当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。
<?php

$height=10;
$lheight=10/1000;
$count=0;

while ($lheight<$height)
{
        $height=$height/2;
        $count++;
}

echo $count;


?>

论坛徽章:
3
CU大牛徽章
日期:2013-05-20 10:43:41CU大牛徽章
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
24 [报告]
发表于 2010-09-19 18:24 |只看该作者
小球从10米高处自由下落,每次弹起的高度是下落高度的70%,当小球弹起的高度不足原高度的千分之一时,小球很 ...
ttgive 发表于 2010-09-19 18:23



    哥们,你好生猛啊,学习了!

论坛徽章:
0
25 [报告]
发表于 2010-09-19 18:25 |只看该作者
用二分法在一个数组中查找你所需元素
<?php

function getIndex($arr = array(), $x) {
       
        $front = 0;
        $end = count ( $arr );
        $mid = ( int ) (($front + $end) / 2);
       
        while ( $front < $end && $arr [$mid] != $x ) {
                if ($arr [$mid] < $x) {
                        $front = $mid + 1;
                }
                if ($arr [$mid] > $x) {
                        $end = $mid - 1;
                }
                $mid = ( int ) (($front + $end) / 2);
        }
       
        if ($arr [$mid] == $x) {
                echo "在第" . ($mid + 1) . "找到了!";
        } else {
                echo "对不起没有找到该项";
        }
}

$arr = array (1, 2, 3, 4, 5, 6, 8 );
getIndex ( $arr, 8 );
?>

论坛徽章:
0
26 [报告]
发表于 2010-09-19 18:30 |只看该作者
设随机抽到A的概率为0.1,B的概率为0.2,C的概率为0.3,D的概率为0.4,现在求按此概率随机抽出一个字母的算法,

<?php

$num=rand(1,10);

if($num==1){
        echo "A中奖";
}
if($num>=2&&$num<=3)
{
        echo "B中奖";
}
if($num>=4&&$num<=6)
{
        echo "C中奖";
}
if($num>=7&&$num<=10)
{
        echo "D中奖";
}
?>

论坛徽章:
0
27 [报告]
发表于 2010-09-19 18:55 |只看该作者
3:打印一个杨辉三角
1
1   1
1  2  1
1  3  3  1
1  4  6  4  1
1  5  10 10  5  1
  1. <?php
  2. for($i=1;$i<=6;$i++)
  3. {
  4.   for($j=1;$j<=$i;$j++)
  5.   {
  6.     $str[$i][1]=1;
  7.     if ($i==$j)
  8.       $str[$i][$j]=1;
  9.     else
  10.       $str[$i][$j]=$str[$i-1][$j-1]+$str[$i-1][$j];
  11.     echo $str[$i][$j] . " ";
  12.   }
  13.   echo "\n";
  14. }
  15. ?>
复制代码

论坛徽章:
0
28 [报告]
发表于 2010-09-19 21:39 |只看该作者
我随便做了二十多道,放哪 里

论坛徽章:
0
29 [报告]
发表于 2010-09-19 22:02 |只看该作者
本帖最后由 xz1980 于 2010-09-19 22:03 编辑

请使用一句话将类似“1910-09-09”的日期各式转换为“一九一零年九月九日”这样的各式。(需要有通用性,是不是一句话不是关键,但不允许使用if\switch\while\for等语句)。

  1. $date = '2011-11-02';
  2. echo toChina($date);
  3. function toChina($date) {
  4.     static $num = array('零',  '一',  '二',  '三',  '四',  '五',  '六',  '七',  '八',  '九', '十', 20 => '二十', 30 => '三十', '00' => '');
  5.     return $num[$date{0}] . $num[$date{1}]
  6.         . $num[$date{2}] . $num[$date{3}] . '年'
  7.         . $num[$date{5} . '0'] . $num[$date{6}] . '月'
  8.         . $num[$date{8} . '0'] . $num[$date{9}] . '日';
  9. }
复制代码
算是一句话吧

论坛徽章:
0
30 [报告]
发表于 2010-09-19 22:05 |只看该作者
PHP很久没有接触过了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP