php竞赛,PHP大赛

PHP 大赛

大赛试题:

注:选择的题数越多,分值越高,得奖越高

1 :要求在一组数中,插入一个新数,并维护原来的排序方式不变

2 :用二分法在一个数组中查找你所需元素

3 :打印一个杨辉三角

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

4 :使用 PHP 描述冒泡排序和快速排序算法,对象可以是一个数组

5 :写一个二维数组排序函数,能够具有通用性

6 :写一个 function 实现数组内每个元素之间加法的递代运算 ?

注 : 数组元素全部为自然数 .

例 :

$data=array(1,2,3);

程序要求打印出数组每个数组元素相互之间各种可能性加法 ( 包括元素自已本身加法 )

1+1=2,1+2=3,1+3=5,

2+2=4,2+3=5,

3+3=6

打印出以下结果

Array

(

[0] => Array

(

[0] => 2

[1] => 3

[2] => 4

)

[1] => Array

(

[1] => 4

[2] => 5

)

[2] => Array

(

[2] => 6

)

)

7 :设有 n 种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为 M ,今从 n 种物品中选取若干件 ( 同一种物品可以多次选取 ) ,使其重量的和小于等于 M ,而价值的和为最大。

8 :设随机抽到 A 的概率为 0.1 , B 的概率为 0.2 , C 的概率为 0.3 , D 的概率为 0.4 ,现在求按此概率随机抽出一个字母的算法,

9 :一个小孩买了价值少于 1 美元的糖,并将 1 美元的钱交给售货员。售货员希望用数目最少的硬币个数找给小孩。假设提供了数目不限的面值为 2 5 美分、 1 0 美分、 5 美分、及 1 美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩

10 :五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后,发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,又把桃子均分成五堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。第三只,第四只,第五只猴子都依次如此分食桃子。那么桃子数最少应该有几个呢?

11 :公鸡 3 元每只,母鸡 5 元每只,小鸡 1 元 3 只,一百元钱买一百只鸡。请求出公鸡,母鸡和小鸡的数目。

12 :小猴第一天摘下若干枣子,当即吃掉了一半,不过瘾又多吃了一个;第二天吃了剩下的一半又多吃了一个;以后每一天都吃了前一天剩下的一半多一个。到第十天小猴再想吃时,见到只剩下一只枣子了。问第一天这堆枣子有多少?

13 :有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第 i 个货箱的重量为 w i ( 1 ≤ i ≤ n ),而货船的最大载重量为 c ,如何在货船上装入最多的货物。

14 :小球从 10 米高处自由下落,每次弹起的高度是下落高度的 70% ,当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。

15 、 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 这样的自然数 ) ,这个数组中元素的个数。以及大数组中每个元素。如图:

0818b9ca8b590ca3270a3433284dd417.png

16 、假设数据库中有两个表 table1 和 table2 ,这两个表结构相同,都有三个字段 id 、 name 和 description ,分别存放编号、名称和描述。

现在请做一个页面,包含两个下拉菜单,第一个下拉菜单内是 table1 中的 name ,第二个下拉菜单内是 table2 中的 name 。下拉菜单的默认值是无,当选择了 table1 中的任意一个 name 时,出现一个 textarea 框显示 name 对应的 description 。当选择了 table2 中的任意一个 name 时,出现一个 textarea 框显示 name 对应的 description ,并且保留上一个下拉菜单的值和 textarea 中的值。 Textarea 中的值可修改,需要做到修改第一个 textarea 的值,然后更改第二个下拉菜单的值后,第一个 textarea 中的修改值仍然保留。最后是一个提交按钮,只有按下提交按钮,才会把 textarea 中的数据才会存入数据库。如图:

默认界面:

0818b9ca8b590ca3270a3433284dd417.png

选择第一个下拉菜单的值:

0818b9ca8b590ca3270a3433284dd417.png

修改第一个菜单的中描述的值,然后选择第二个菜单的 name 值

0818b9ca8b590ca3270a3433284dd417.png

提交后才会存入数据库:

0818b9ca8b590ca3270a3433284dd417.png

17 、有一个数组 array('a','b','c','d','e','f') ,请使用两段代码分别达成图 1 和图 2 中的效果。

图 1 :

0818b9ca8b590ca3270a3433284dd417.png

图 2 :

0818b9ca8b590ca3270a3433284dd417.png

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

19 、有一张表 test ,包含四个字段 id, question, answer , rank 里面有 1000 条数据。要求做一个页面,随机抽取 50 道题目(都是单选题),分页显示所有的题目,每页显示 1 题。按钮包含:第一题—上一页—当前第 N 题—下一页—最后一题。交卷后将每一题的答案和数据库中的标准答案作比较,相同 +2 分,最后得出成绩存入 rank 。

20 、简述如何得到当前执行脚本路径,包括所得到参数。

说明:例如有一个脚本 www.domain.com, 传给他的参数有参数 1 ,参数 2 ,参数 3 … .

传递参数的方法有可能是 GET 有可能是 POST, 那么现在请写出类似

http://www.domain.com/script.php? 参数 1= 值 1& 参数 2= 值 2..... 的结果

21 、写出一个能创建多级目录的 PHP 函数

22 、有一个留言板,用 mysql 做数据库

用户信息包括:用户名,密码, email

留言内容包括:留言 ID ,标题,内容,发表时间,状态(审核,未审核)

请实现下列需求:

1 )数据库结构。无需写建表语句,用类似下面的表格,描述清楚即可

表明

table_aaa

字段名

字段说明

字段类型

索引

name

姓名

Varchar ( 64 )

唯一索引

gender

性别

Enum (‘ M ’,‘ F ’)

注意,要在索引栏中注明是否需要创建索引,以及要创建的索引的类型

用一个 sql 语句查询出发表留言数量大于 10 条的用户名及其留言数量,查询结果按留言数量降序排列

23 、写出 php 的 public 、 protected 、 private 三种访问控制模式的区别

24 、 给你三个数,写程序求出其最大值。

25 、写出查询发贴数最多的十个人名字的 SQL ,利用下表:

members(id,username,posts,pass,email)

select id,name,count ( posts ) as p from members order by p desc limit 0,10;

26 、如何通过 javascript 判断一个窗口是否已经被屏蔽。

27 、有一数组 $a=array(4,3,8,9,2); 请将其重新排序(按从小到大的顺序列出)。

28 、写出匹配邮箱地址和 URL 的两个正则表达式。类似下面的:

邮箱地址: user_name.first@hztraining.com

URL 地址: http://www.hztraining.com/user_profile.php?uid=100

29 、对于大流量的网站 , 您采用什么样的方法来解决访问量问题 ?

30 、 MySQL 数据库,一天一万条以上的增量,怎么优化?

31 、写个函数来解决多线程同时读写一个文件的问题。

32 、一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。要求执行效率高。并说明如何改善执行效率。(该函数必须自己实现,不能使用 php 函数)

33 、写一个函数,算出两个文件的相对路径

如 $a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

计算出 $b 相对于 $a 的相对路径应该是 ../../c/d 将 () 添上

34 、用写一个类实现会员管理,要求实现:

1 )用文件存储会员信息,会员注册输入用户名和电子邮件就行。

2 )用户信息包括:用户名,电子邮件。

3 )要求用户可以登录、退出和注销用户。

4 )如果用户没有退出,下次登录自动显示用户名。

5 )保存用户上次浏览时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
waychar报名系统是一个完全免费,全功能开放的报名系统,支持多种功能,详细的软件功能请自行探索。 声明:本代码只用于学习交流使用,如果需要商业化,请购买授权。 我们不止报名 打通赛事/活动全流程 新的dashboard可以清晰的了解到您的赛事进行阶段,并使组织者有效的管理并进行赛事的组织及进行,我们不止报名! waychar报名系统将赛事及活动,分割成五个部分,活动筹备-》活动报名-》报名结束-》活动进行-》活动结束,每一个支点,waychar报名系统提供功能强大的信息管理功能,使你事半功倍! 活动筹备,组织者可以编辑赛事信息,编写预热文章。 活动报名,组织者可以根据赛事的报名情况,灵活修正赛事信息,查询名单,编写鼓动文案; 报名结束,组织者可以分享赛事细节,并对名单进行管理、导出并用于其他用途,查询核对收入等; 活动进行,waychar报名系统提供在线签到打卡功能,选手可以通过扫描系统提供的二维码进行签到打卡从而计时; 活动结束,参赛者在活动结束后可以查询下载赛事/活动成绩,证书等,组织者可以对赛事发表总结文章等; ver0.16 1.数据库更新; ALTER TABLE `article` ADD `race_id` INT NULL AFTER `wx_url`; 用于文章绑定赛事 2.文章管理新增dashboard 程序安装步骤: 1.数据库安装 sql文件目录 core/db/db.sql; 数据库配置目录 config/config.global.php 程序安装: 只需要把程序复制到服务器根目录即可 微信支付安装: 配置目录:pay/wx/lib/WxPay.Config.php 微信支付更多坑请到微信支付官方网站查询 如果需要付费安装,请联系文章头的邮件 首页地址 index.php?c=home 后台登录地址 index.php?c=race 密码 admin123 更新信息 ver0.15 1.文件压缩,减少废旧图片,文件包大小减少了一倍; 2.改变了index.php的路由模式,优化了搜索引擎收录的效率; 3.前端ui色彩改变; 4.修改了文件头内容 ver0.14 1.新增会员管理系统 可以自由管理会员的基础信息,重置密码等; 可以查看编辑会员参与过的赛事信息; 2.赛事管理-》名单管理加入搜索功能,可以根据参加选手的身份证件信息定位名单; 3.赛事菜单UI优化; 4.安全更新。 解决了赛事发布后不能修改表单的bug; ver0.13 1.安全更新 1)优化后台编辑器的bug,回车换行不再被系统过滤; 2)增强了系统安全性; 3)修正了赛事名单,审核证书的bug; 4)解决部分环境不能新增编辑赛事组别的bug; 2.加入微信支付,扫码支付功能,如果是桌面端,直接显示扫码支付,如果是微信客户端,显示扫码支付和h5支付; 3.config.global.php,新增域名配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值