免费注册 查看新帖 |

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
发表于 2010-09-19 22:24 |显示全部楼层
25、写出查询发贴数最多的十个人名字的SQL,利用下表:
members(id,username,posts,pass,email)

我理解posts是发帖量(整型)。所以我的SQL语句如下:
  1. select username from members order by posts desc limit 10;
复制代码

论坛徽章:
0
发表于 2010-09-19 22:34 |显示全部楼层
2:用二分法在一个数组中查找你所需元素
用位图,比如有两个int数组,一个数组的每个元素都存在于另一个数组中
假设第一个数组为A,第2个数组为B

遍历A一次,把位图对应下标置1,再遍历B一个,下面是C/C++ code:

typedef bit_s
{
    int bit_map[MAX];
}bit_st;
bit_st ss;
memset(&ss.bit_map[0],0,MAX*siezof(int) );
typedef res_s
{
    int data;            //A里的某个元素值
    int index;           //该元素值在B数组里的下标
}res;
res r[n];
for(int i;i<n;++i)
    if(ss.bit_map[A[i]]==0)
         ss.bit_map[A[i]]=1;

int j=0;
for(int i;i<m;++i)
   if(ss.bit_map[B[i]]==1)
   {
       r[j].data=B[i];
       r[j++]index=i;
       ss.bit_map[B[i]]=0;     //消除bit_map记录,防止B中有重复元素与A对应
   }

论坛徽章:
0
发表于 2010-09-19 22:35 |显示全部楼层
3:打印一个杨辉三角

#include<stdio.h>
void main()
{
    int i,j,n,k;
    scanf("%d",&n);

    for(i=1;i<=n;i++)
    {
        k=1;
        for(j=1;j<i;j++)
        {
            printf("%d ",k);
            k=k*(i-j)/j;//每次要打印的下一个数等于前一个数乘以其所在行数和列数的差在处以其列数,就Ok了~!
        }
    printf("%ld",k);
    printf("\n");
    }
}

论坛徽章:
0
发表于 2010-09-19 22:36 |显示全部楼层
11:公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡。请求出公鸡,母鸡和小鸡的数目。
public class CNumber{
    public static void main(String[] args){
        int rooster;        //公鸡
        int hen;            //母鸡
        int chicken;        //小鸡
        for(rooster = 0; rooster < 50; rooster++){
            for(hen = 0; hen < 50; hen++){
                chicken = 100-rooster-hen;
                if(rooster*3 + hen*5 + chicken * 1/3 == 100 && rooster + hen + chicken == 100){
                    System.out.println("公鸡" + rooster + "只" + "母鸡" + hen + "只" + "小鸡" + chicken + "只");
                }
            }
        }
    }

论坛徽章:
0
发表于 2010-09-19 22:37 |显示全部楼层
13:有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第i 个货箱的重量为wi(1≤i≤n),而货船的最大载重量为c,如何在货船上装入最多的货物。
template<class T>

void ContainerLoading(int x[], T w[], T c, int n)

{// 货箱装船问题的贪婪算法

// x[i] = 1 当且仅当货箱i被装载, 1<=i<=n

// c是船的容量, w 是货箱的重量

// 对重量按间接寻址方式排序

// t 是间接寻址表

int *t = new int [n+1];

I n d i r e c t S o r t ( w, t, n);

// 此时, w[t[i]] <= w[t[i+1]], 1<=i<n

// 初始化x

for (int i = 1; i <= n; i++)

x[i] = 0;

// 按重量次序选择物品

for (i = 1; i <= n && w[t[i]] <= c; i++) {

x[t[i]] = 1;

c -= w[t[i]];} // 剩余容量

delete [] t;

}

论坛徽章:
0
发表于 2010-09-19 22:39 |显示全部楼层
24、 给你三个数,写程序求出其最大值。
print $a > $b ? ($a>$c ? $a : $c) : ($b>$c ? $b : $c);

25、写出查询发贴数最多的十个人名字的SQL,利用下表:
members(id,username,posts,pass,email)

SELECT username, COUNT(posts) AS total_post FROM members GROUP BY id ORDER BY total_post DESC LIMIT 10;

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

var   result   =   window.open("/somepage.aspx");  

if(result==null)  

{  

        alert("浏览器不允许弹出窗口");  

}  

</script>

论坛徽章:
0
发表于 2010-09-19 22:40 |显示全部楼层
28、写出匹配邮箱地址和URL的两个正则表达式。类似下面的:
邮箱地址:user_name.first@hztraining.com
URL地址:http://www.hztraining.com/user_profile.php?uid=100


邮箱:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
URL:/^http:\/\/[\w]+\.[\w]+[\S]*/

论坛徽章:
0
发表于 2010-09-19 22:41 |显示全部楼层
21、写出一个能创建多级目录的PHP函数
function mkdirs($dir){
if(!is_dir($dir)){
   mkdirs(dirname($dir)); //$dir为要创建的多级目录
   mkdir($dir);
}else{
   echo $dir;
   echo "<br/>";
}
return;
}

论坛徽章:
0
发表于 2010-09-19 22:42 |显示全部楼层
18请使用一句话将类似“1910-09-09”的日期各式转换为“一九一零年九月九日”这样的各式。(需要有通用性,是不是一句话不是关键,但不允许使用if\switch\while\for等语句)。
function changeToDate($str)
{
$numtostr=array(
'0'=>'',
   '1'=>'一',
   '2'=>'二',
   '3'=>'三',
   '4'=>'四',
   '5'=>'五',
   '6'=>'六',
   '7'=>'七',
   '8'=>'八',
   '9'=>'九'
);
$str=str_replace('-','',$str);
    $str=str_split($str);
    $str0=$numtostr[$str[0]];
    $str1=$numtostr[$str[1]];
    $str2=$numtostr[$str[2]];
    $str3=$numtostr[$str[3]];
   
    $str4=$numtostr1[$str[4]];
    $str5=$numtostr1[$str[5]];
   
    $str6=$numtostr1[$str[6]];
    $str7=$numtostr1[$str[7]];
   
    $datestr=$str0.$str1.$str2.$str3."年".$str4.$str5."月".$str6.$str7."日";
    return $datestr;
}
$str="1604-09-20";
$date=changeToDate($str);
echo $date;

论坛徽章:
0
发表于 2010-09-19 22:43 |显示全部楼层
23写出php的public、protected、private三种访问控制模式的区别

public 表示全局,类内部外部子类都可以访问;

private表示私有的,只有本类内部可以使用;

protected表示受保护的,只有本类或子类或父类中可以访问;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP