编程大赛试题

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=4,

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.1B的概率为0.2C的概率为0.3D的概率为0.4,现在求按此概率随机抽出一个字母的算法,

 

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

 

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

 

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

 

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

 

13:有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第i 个货箱的重量为wi1in),而货船的最大载重量为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这样的自然数),这个数组中元素的个数。以及大数组中每个元素。如图:

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

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

默认界面:

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

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

       提交后才会存入数据库:

      

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

1

2

 

      

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

 

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

 

 

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

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

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

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

 

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

有一个留言板,用mysql做数据库,用户信息包括:用户名,密码,email    留言内容包括:留言ID,标题,内容,发表时间,状态(审核,未审核)

请实现下列需求:

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

表明

table_aaa

字段名

字段说明

字段类型

索引

name

姓名

Varchar64

唯一索引

gender

性别

Enum(‘M’,‘F’)

 

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

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

 

22、写出phppublicprotectedprivate三种访问控制模式的区别

 

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

 

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

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

 

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

 

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

 

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

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

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

 

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

 

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

 

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

 

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

 

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

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

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

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

 

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wbandzlhgod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值