1.有100个数分别存储在A[0]~A[99]中,要求根据以下给出的条件分别对这100个数按顺序进行求和。你可选择用任何编程语言来实现。
a)求和时,忽略(不计算)从A[50]到A[59]以及之间的所有数。
<?php
$number = range(0,99);//创建数组
//echo array_sum($number)."<br>";//计算数组中所有值的总和$arr1=array_slice($number,0,50);//获取0-50的值,不包括50
$arr2=array_slice($number,60,99,true); //获取60-99的值,保留键名
echo array_sum($arr1)+array_sum($arr2);//求和,忽略(不计算)从A[50]到A[59]以及之间的所有数
?>b) 求和时,忽略第一个 “0”到第二个 “0”之间的所有数。假设这100个数中至少有2个数是“0”。
<?php
$num=array(1,2,0,45,55,22,0,65,555,0,444);//这个是用于测试的数组
print_r($num);
$tmp=array();
$a=1;
foreach($num as $key=>$values)
{
if($values==0 and $a<=2)
{
$tmp[]=$key;
}
}
$arr1=array_slice($num,0,$tmp[0]);
$arr2=array_slice($num,$tmp[1]+1,99);
echo array_sum($arr1)+array_sum($arr2);
?>c) 求和时,忽略第一个 “0”,“1”组合到第二个 “0”,“1”组合之间的所有数。组合就是连续出现的意思。例如这100个数按顺序是  5,12,0,12,1,0,1,9,1,0,5,8,0,1,23,44,。。求和时需要忽略9,1,0,5,8。 假设这100个数中至少有2个 “0”,“1”组合。
2.
 int  foo ( int x , int n){
int val;
val =1;
if (n>0) {
if (n%2 == 1)  val = val *x;
val = val * foo(x*x , n/2);
}
return val;
}
请写出val最后的值(用含有x,n的表达式来表示):
1或者3. 编程(使用语言不限)
a) 写个程序,要求在屏幕上输出一个圆,圆的半径由键盘输入.
b) 写个程序,要求在屏幕上输出两个同心圆,两个同心圆的半径和圆心位置由键盘输入.
c) 写个程序,要求在屏幕上输出两个不同心的圆,并且两个圆相交处为实心的。两个圆的半径和圆心由键盘输入. 
4. 完成以下方法last_item(title),当每次调用方法last_item(title)时,参数title的值被加入成为数组arr的元素,并且始终排在第一个;当数组满10 个元素时,要去除最后一个元素,然后再把参数title的值加入数组arr并排在第一个位置。(javascripts试题,也可用其他语言编写)
<?php
Function last_item($title)
{
$arr=array();
if(count($arr)>10)
{
array_pop($arr);
array_unshift($arr,$title);
}
Else
{ array_unshift($arr,$title);}
Return $arr;
}
?>
5. 有二维数组$arr,完成方法sort($arr,$key),参数$arr用数组$arr,参数$key是数组$arr的键值'age'或'score',此方法的目的是把数组$arr按'age'或 'score'从大到小排序,并返回已排序的数组。(php试题,可以用其他语言编写)(30分钟)6.数据库
数据表名 data
id ref_id num
1 1 5
2 3 7
3 5 8
4 3 7
5 1 5 
6 3 7
用SQL语句分别实现:
(1) 统计ref_id=3 的记录条数(2) 查询ref_id不重复的记录 (3) 按照ref_id进行统计,一共有多少条不同的记录