php 逻辑训练小题目四(附我的答案)

这篇博客探讨了PHP中连接两个字符串的多种方法,并提供了实现标准URL请求脚本文件名获取的示例,同时详细解析了PHP内置函数next的使用测试。
摘要由CSDN通过智能技术生成
【程序40】 
题目:字符串排序。 

<?php
$str="helloyou";
for($i=0;$i<strlen($str);$i++){
   $arr[]=$str[$i];
}
sort($arr);
for($i=0;$i<count($arr);$i++){
   echo $arr[$i];
}
?>


【程序41】 
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一
个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中
,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 

<?php
$k=1;
for($i=1;$i<=5;$i++){
   $k=$k*5+1;
}
echo $k;
?>


【程序42】 
题目:809*??=800*??+9*??+1
其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 

<?php
for($i=10;$i<=99;$i++){
   if($i*8>=10 && $i*8<100 && $i*9>=100 && $i*9<1000){
      echo $i;
   }
   
   

}
?>


【程序43】 
题目:求0—7所能组成的奇数个数。 

<?php
$sum=0;
for($i=0;$i<=7;$i++){
    if($i==0){
	$sum+=4;//1,3,5,7
	}
	else{
	$sum+=8;//其他位数
	}
}
echo $sum;
?>


【程序44】 
题目:一个偶数总能表示为两个素数之和。 

<?php
$n=34;

  for($i=1;$i<=$n/2;$i++){
	    for($k=1;$k<=$i;$k++){
		if($k!=1 && $k!=$i && $i%$k==0){continue 2;}
		}
        
		for($m=1;$m<=$n;$m++){
			for($j=1;$j<=$m;$j++){
			   if($j!=1 && $j!=$m && $m%$j==0){continue 2;}
			   
			}
			if($i+$m==$n){echo $i.' '.$m.'<br/>';}
		}
  }
//var_dump($is_prime);
?>


【程序45】 
题目:判断一个素数能被几个9整除 

<?php
$n=2;
$k=1;

while(1){
  $str='';
  for($i=1;$i<=$k;$i++){
  $str.='9';
  }
  if($str%$n==0){echo $k;break;}
  else{$k++;}

}
?>


【程序46】 

题目:两个字符串连接程序 

.


做完【程序47】 
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 

#include<stdio.h>
 void main()
 {int j,i,num[7];
 char t='*';
 for(i=0;i<7;i++)
 {scanf("%d",num[i]);
 for(j=0;j<num[i];j++)
 printf("%c",t);}
 }


【程序48】 
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字
都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 

<?php
$i=2234;
$str="$i";$str2="";$str3="";
for($k=0;$k<4;$k++){
   $str2.=($str[$k]+5)%10;
}

$str3.=$str2[3].$str2[2].$str2[1].$str2[0];
echo $str3;
?>


做完【程序49】 
题目:计算字符串中子串出现的次数 

<?php
$str="hello you world!";
$s="o";
echo substr_count($str,$s);
?>


【程序50】 
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
 
<?php
if(!is_file('grade.txt')){fopen('grade.txt','w');}
$grade=array(78,92,97);
$name='小王';
$id='30151514';
$str=$name.' '.$id.' '.$grade[0].' '.$grade[1].' '.$grade[2].' '.array_sum($grade)/count($grade)."\r\n";
if(file_put_contents('grade.txt',$str,FILE_APPEND)){echo "成功!";}else{echo "失败!";}
?>


业务问题
1.     用户注册,将用户的信息进行验证后插入到数据库,密码使用md5加密
2.     用户登录,要求从数据库验证用户名和密码的正确性
3.     遍历文件夹,将所有的文件信息输出,如果是文件夹红色输出,如果是文件,蓝色输出
4.     在第三题的基础上,实现深度遍历(递归),同时要注意缩进方便肉眼看出级别关系

采用最少三种方式获取一个标准url请求的脚本文件名字


<?php
echo __file__;
echo "<br/>";
echo $_SERVER['SCRIPT_FILENAME'];
echo "<br/>";
echo $_SERVER['PHP_SELF'];
echo "<br/>";
echo $_SERVER['REQUEST_URI'];
// substr:strpos  explode basename() end() str_replace 
?>



php next  用法测试


<?php
$arr=range(1,10);

echo next($arr);
echo key($arr);
unset($arr[next($arr)]);

var_dump(prev($arr));
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值