免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
61 [报告]
发表于 2010-09-20 13:24 |只看该作者
28、写出匹配邮箱地址和URL的两个正则表达式。类似下面的:
邮箱地址:user_name.first@hztraining.com
URL地址:http://www.hztraining.com/user_profile.php?uid=100
  1. <?php
  2.         //匹配Email
  3.         $pattern='/(\w+)\@(\w+)\.((\w+))+/';
  4.     $email='wangchc_chc.xx@163.xx';
  5.     if (preg_match($pattern,$email))
  6.             echo "match";
  7.     else
  8.             echo "not match";
  9.     echo "<Br>";
  10.     //匹配Url
  11.     $patternurl='/http(s?):\/\/(((\w+)\.)+)(\w+)\/(\w-\.\?\%\&\=)*/';
  12.     $url="http://www.hztraining.com/user_profile.php?uid=100";
  13.     if (preg_match($patternurl,$url))
  14.             echo "match";
  15.     else
  16.             echo "not match";
  17.            
  18. ?>
复制代码

论坛徽章:
0
62 [报告]
发表于 2010-09-20 13:24 |只看该作者
回复 57# 草上飞2008


    怎么不举办个 shell 编程大赛!?

论坛徽章:
5
CU十周年纪念徽章
日期:2012-02-28 22:08:51CU大牛徽章
日期:2012-02-28 22:08:512010年中国数据库技术大会
日期:2012-02-28 22:05:302009年中国系统架构师大会
日期:2012-02-28 22:05:30ChinaUnix元老
日期:2012-02-28 22:26:02
63 [报告]
发表于 2010-09-20 13:47 |只看该作者
回复 62# BangBull


    要搞, 下次就搞 SHELL的,呵呵,

论坛徽章:
0
64 [报告]
发表于 2010-09-20 13:49 |只看该作者
回复 63# 草上飞2008


        那不是又要过上一年啦  ..............

论坛徽章:
0
65 [报告]
发表于 2010-09-20 14:16 |只看该作者
支持一哈。但是php不会~~~~呀

论坛徽章:
0
66 [报告]
发表于 2010-09-20 14:25 |只看该作者

论坛徽章:
0
67 [报告]
发表于 2010-09-20 14:29 |只看该作者
18题
  1. <?php
  2. //18、请使用一句话将类似“1910-09-09”的日期各式转换为“一九一零年九月九日”这样的各式。(需要有通用性,是不是一句话不是关键,但不允许使用if\switch\while\for等语句)。
  3. function date2Chinese($date) {
  4.     //TODO check date format
  5.     $replaces    = array('0'=>'零','1'=>'一','2'=>'二','3'=>'三','4'=>'四','5'=>'五','6'=>'六','7'=>'七','8'=>'八','9'=>'九');
  6.     $adate        = explode('-', $date);
  7.     return strtr((int)$adate[0], $replaces) . '年' . strtr((int)$adate[1], $replaces) . '月' . strtr((int)$adate[2], $replaces) . '日';
  8. }

  9. $str = file_get_contents('in.txt');
  10. //$str = '1901-01-01';
  11. echo date2Chinese($str);
复制代码

论坛徽章:
0
68 [报告]
发表于 2010-09-20 14:41 |只看该作者
大赛试题:
注:选择的题数越多,分值越高,得奖越高
试题附件下载:

1:要求在一组数中,插入一个新数 ...
草上飞2008 发表于 2010-09-19 10:09



   
先占位

论坛徽章:
0
69 [报告]
发表于 2010-09-20 16:09 |只看该作者
<?php
//第一题
$arr=array(1,2,3,4,5,6,7);
array_push($arr,2);
sort($arr);
var_dump($arr);
//第二题
$num=6;
$n=0;
$len=count($arr);
for($i=0;$i<$len;$i++){
        if($arr[$i]==$num){
                echo $i;
                break;
        }elseif($arr[$i]>$num){
                $len=floor(($len+$i)/2)-1;
        }elseif($arr[$i]<$num){
                $i=floor(($len+$i)/2)+1;
        }
        ++$n;
}
echo "循环".$n."次";
//第三题
$line=5;
$sanjiao=array();
for($i=1;$i<=$line;$i++){
        echo "<br/>";
        $kg=str_repeat("&nbsp;",$line-$i);
        echo $kg;
        if($i>1){
                echo "1 ";
        }
        for($j=1;$j<=$i;$j++){
                $sanjiao[$i][0]=1;
                if ($i==$j){
                        $sanjiao[$i][$j]=" 1";
                }else{
                        $sanjiao[$i][$j]=$sanjiao[$i-1][$j-1]+$sanjiao[$i-1][$j];
                }
                echo $sanjiao[$i][$j]." ";
        }
}
//第四题
function maopao($arr)
{
        for ($i=0;$i<count($arr);$i++)
        {
                 for ($j=count($arr)-2;$j>=$i;$j--)
                 {
                         if($arr[$j+1]<$arr[$j])
                         {
                                 $arr[$j+1]^=$arr[$j];
                                 $arr[$j]^=$arr[$j+1];
                                 $arr[$j+1]^=$arr[$j];
                         }
                 }
        }
        return $arr;
}
$arr = array(31,16,12,8,3,12,43,26,21);
print_r(maopao($arr));
echo "<br/>";
function kuaisort($arr){
        if (count($arr) <= 1) return $arr;
        $key = $arr[0];
        $arr1= array();
        $arr2 = array();
        for ($i=1;$i<count($arr); $i++){
                if ($arr[$i] <= $key)
                  $arr1[]=$arr[$i];
                else
                  $arr2[]=$arr[$i];
        }
        $arr1 = kuaisort($arr1);
        $arr2 = kuaisort($arr2);
        return array_merge($arr1, array($key),$arr2);
}
$arr=kuaisort($arr);
var_dump($arr);
//第五题
echo "<br/>";
$arr = array(
        6=>array(31,16,12,8,3,12,43,26,21),
        3=>array(32,54,23,23,12,42,23,42),
        8=>array(23,43,23,231,434,23,534)
);
ksort($arr);
foreach($arr as $key=>$value){
        $arr[$key]=kuaisort($value);       
}
print_r($arr);
//第六题
echo "<br/>";
function addition($arr){
        for($i=0;$i<count($arr);$i++){
                for($j=$i+1;$j<count($arr);$j++){
                        echo $arr[$i]."+".$arr[$j]."=".($arr[$i]+$arr[$j]).";";
                }
                echo "<br/>";
        }
}
$arr = array(31,16,12,8,3,12,43,26,21);
addition($arr);
//第七题
echo "<br/>";
$m=200;
$arr = array(
        0=>array(0=>31,1=>16,2=>intval($m/31)),
        1=>array(0=>32,1=>54,2=>intval($m/32)),
        2=>array(0=>23,1=>43,2=>intval($m/23)),
        3=>array(0=>19,1=>43,2=>intval($m/19))
);
$x=$y=$z=$h=0;
$sprice=0;
for($i=0;$i<$arr[0][2];$i++){
        for($i1=0;$i1<$arr[1][2];$i1++){
                for($i2=0;$i2<$arr[2][2];$i2++){
                        for($i3=0;$i3<$arr[3][2];$i3++){
                                $sum=$i*$arr[0][1]+$i1*$arr[1][1]+$i2*$arr[2][1]+$i3*$arr[3][1];
                                if($sum>$sprice){
                                        $sprice=$sum;
                                        $x=$i;
                                        $y=$i1;
                                        $z=$i2;
                                        $h=$i3;
                                }
                        }
                }
        }
}
echo $x."|".$y."|".$z."|".$h."|".$sprice;
//第八题
//第九题
echo "<br/>";
$zhao=11;
$x=$y=$z=$h=0;
$sprice=11;
for($i=0;$i<=intval($zhao/1);$i++){
        for($i1=0;$i1<=intval($zhao/5);$i1++){
                for($i2=0;$i2<=intval($zhao/10);$i2++){
                        for($i3=0;$i3<=intval($zhao/25);$i3++){
                                $sum=$i*1+$i1*5+$i2*10+$i3*25;
                                if($sum==$zhao){
                                        if($i+$i1+$i2+$i3<$sprice){
                                                $sprice=$i+$i1+$i2+$i3;
                                                $x=$i;
                                                $y=$i1;
                                                $z=$i2;
                                                $h=$i3;
                                        }
                                }
                        }
                }
        }
}
echo $x."|".$y."|".$z."|".$h;
//第十题
//第十一题
echo "<br/>";
$x=$y=$z=0;
for($i=0;$i<=intval(100/3);$i++){
        for($i1=0;$i1<=intval(100/5);$i1++){
                for($i2=0;$i2<=intval(100*3);$i2=$i2+3){
                        $price=$i*3+$i1*5+$i2/3*1;
                        if($price==100){
                                $x=$i;
                                $y=$i1;
                                $z=$i2;
                                echo $x."|".$y."|".$z;
                                echo "<br/>";
                        }
                }
        }
}
//第十七题
echo "<br/>";
$arr=array('a','b','c','d','e','f');
$arr1=array();
$arr1['a']=array();
$astr="arr1";
$bstr="arr1";
$cstr="";
for($i=0;$i<count($arr);$i++){
        if($i==count($arr)-1){
                $astr="$".$astr."['".$arr[$i]."']='Value';";
        }else{
                $astr="$".$astr."['".$arr[$i]."']=Array();";
        }
        eval($astr);
        $cstr=$cstr."['".$arr[$i]."']";
        $astr=$bstr.$cstr;
}
print_r($arr1);
//第十八题
echo "<br/>";
$arr=array("零","壹","贰","参","肆","伍","陆","染","捌","玖");
$date="1910-12-12";
$arr1=explode("-",$date);
for($i=0;$i<strlen($arr1[0]);$i++){
        $n=substr($arr1[0],$i,1);
        echo $arr[$n];
}
echo "年";
for($i=0;$i<strlen($arr1[1]);$i++){
        $n=substr($arr1[1],$i,1);
        echo $n=="0"?"":$arr[$n];
        echo $i==0 && $n==1?"十":"";
}
echo "月";
for($i=0;$i<strlen($arr1[2]);$i++){
        $n=substr($arr1[2],$i,1);
        echo $n=="0"?"":$arr[$n];
        echo $i==0 && $n==1?"十":"";
}
echo "日";
//第二十一题
$cpath="data/201009/12/13/";
function createdir($cpath){
        if(!file_exists($cpath)){
                createdir(dirname($cpath));
                mkdir($cpath,0755);
        }
}
createdir($cpath);
//第二十三题
echo "<br/>";
echo "Public成员可以被毫无限制地访问.类外部的任何代码都可以读写public属性. 你可以从脚本的任何地方调用一个public方法.";
echo "Private(私有)成员只在类的内部可见. 你不能在一个private属性所在的类方法之外改变或读取它的值. 同样地,只有在同一个类中的方法可以调用一个private方法. 继承的子类也不能访问父类中的private 成员.";
echo "Protected(受保护的) 成员能被同个类中的所有方法和继承出的类的中所有方法访问到.";
//第二十四题
$a=56;
$b=67;
$c=23;
echo max($a,$b,$c);
//第二十五题
echo "select id,username,posts from member order by posts desc limit 10";
//第二十七题
$a=array(4,3,8,9,2);
sort($a);
print_r($a);
//第二十八题
echo "<br/>";
$paten="/[\w.]*@hztraining.com/";
$email="user_name.first@hztraining.com";
if(preg_match($paten,$email)==true){
        echo "ok";
}else{
        echo "none";
}
$paten="/http:\/\/www.hztraining.com\/[^\s]*/";
$email="http://www.hztraining.com/user_profile.php?uid=100";
if(preg_match($paten,$email)==true){
        echo "ok";
}else{
        echo "none";
}
//第二十九题
echo "1.生成静态页面来缓解数据库压力!";
echo "2.服务器集群";
echo "3.MYSQL的主主主从配置!";
echo "4.增加APC系统缓存处理!";
echo "5.Apache的CSS,JS,图片压缩处理!";
//第三十题
echo "1.按理说一天一万条增量不算很多,可以分表分库处理!";
echo "2.MYSQL主主主从处理!";
//第三十二题
function sort32($arr)
{
        for ($i=0;$i<count($arr);$i++)
        {
                 for ($j=count($arr)-2;$j>=$i;$j--)
                 {
                         if($arr[$j+1]>$arr[$j])
                         {
                                 $arr[$j+1]^=$arr[$j];
                                 $arr[$j]^=$arr[$j+1];
                                 $arr[$j+1]^=$arr[$j];
                         }
                 }
        }
        return $arr;
}
$a=array(4,3,8,9,2);
$a=sort32($a);
print_r($a);
//第三十三题
echo "<br/>";
$a='/a/b/c/d/e.php';
$b='/a/b/12/34/c.php';
$arr1=explode("/",$a);
$arr2=explode("/",$b);
$split="";
for($i=0;$i<=count($arr1);$i++){
        if($arr1[$i]!=""){
                if($arr1[$i]==$arr2[$i]){
                        echo "../";
                        $split.=$arr2[$i]."/";
                }else{
                        break;
                }
        }
}
echo str_replace("/".$split,"",$b);
//第三十四题
class member{
        public $username="";
        public $passwd="";
        /*
        *构造函数
        */
        public function __construct(){
        }
        /*
        *添加会员信息
        */
        function add(){

        }
        /*
        *更新会员信息
        */
        function update(){
       
        }
        /*
        *删除会员信息
        */
        function del(){
        }
        /*
        *退出
        */
        function quit(){
        }
        /*
        *登录
        */
        function login(){
        }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP编程大赛</title>
</head>
<body>
<script type="text/javascript">
function $(id){
        if(document.getElementById(id)){
                return document.getElementById(id);
        }else{
                return document.getElementsByName(id);
        }
}
/*第十五题*/
function mm_q(){
        var str="1|2|3|4|5|6#1|2|3|4#1|2|3|4|5|6|7|8";
        var arr=str.split("#");
        var tmparr=new Array();
        var len=0;
        var aindex=0;
        var result="";
        for(i=0;i<arr.length;i++){
                tmparr=arr[i].split("|");
                arr[i]=tmparr;
                if(tmparr.length>len){
                        aindex=i;
                        len=tmparr.length;
                }
        }
        result="最长的二维数组是:"+i+"\n";
        result+="长度是:"+len+"\n";
        for(i=0;i<arr.length;i++){
                for(j=0;j<arr[i].length;j++){
                        result+=arr[i][j]+",";
                }
                result+="\n";
        }
        $("are1").innerText=result;
}
function mm_sel1(obj){
        $("are2").innerText=obj.options[obj.selectedIndex].text+"AJAX处理";
}
function mm_sel2(obj){
        $("are3").innerText=obj.options[obj.selectedIndex].text+"AJAX处理";
}
//第二十六题
function openWin()
{
        var success=window.open("a.php");
        if (success==null)
        {
                alert("窗体打开失败!");
        }
}
//第二十题
function QueryString(item){
         var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"));
         return sValue?sValue[1]:sValue
}
var a=QueryString("a");
</script>
<br/>
<input type="button" id="btn1" name="btn1" value="第十五题" onclick="mm_q();" />
<textarea id="are1" name="are1" rows="5" cols="30"></textarea>
<select id="sel1" name="sel1" onchange="mm_sel1(this);">
        <option value="">第十六题</option>
        <option value="1">科技世界</option>
        <option value="2">创新科技</option>
        <option value="3">走向世界</option>
</select>
<textarea id="are2" name="are2" rows="5" cols="30"></textarea>
<select id="sel2" name="sel2" onchange="mm_sel2(this);">
        <option value="">第十六题</option>
        <option value="1">PHP</option>
        <option value="2">JAVA</option>
        <option value="3">NET</option>
</select>
<textarea id="are3" name="are3" rows="5" cols="30"></textarea>
</body>
</html>

论坛徽章:
0
70 [报告]
发表于 2010-09-20 16:10 |只看该作者
大家慢慢看哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP