实验二php基本程序设计
实验目的:
- 掌握PHP语法基本元素,掌握数据类型、变量和常量、运算符、表达式的使用;
- 掌握PHP流程控制;
实验内容及要求:
- 求一个一维数组的最大值。
- 求一个一维数组的元素之和。
- 求一个数的阶乘。界面如下图:
- 打印水仙花数。打印水仙花数
水仙花数的特点:三位的数字,满足的条件是abc=a3+b3+c3
- 设计一个计算器。如下图所示:
6.能被3整除的个位数为6的数
7. 操场上100多人排队,3人一组多1人,4人一组多2人,5人一组多3人,共多少人?
8. 假设某人有100,000 现金。每经过一次路口需要进行一次交费。交费规则为当他现金大于50,000 时每次需要交5%如果现金小于等于50,000 时每次交5,000。请写一程序计算此人可以经过多少次这个路口。
实验源代码:
1.
<?php
$forMax =array();
$forMax=['1','2','3','4','5','6','7','8','9','10','45','11'];
echo "这个数组之后的最大值为:";
echo max($forMax);
2.
<?php
$Sum=array(0=>1,1=>2,2=>3,3=>4,4=>5,5=>6,6=>7,7=>8,8=>9);
echo "数组元素之和为:";
echo array_sum($Sum);
3.
<?php
$sum=0;
if(!empty($_POST))
{
$sum=1;
$n=$_POST['num'];
if($n<0)
{
$sum=0;
}
if($n==0)
{
$sum=1;
}
for($i=1;$i<=$n;$i++)
{
$sum=$sum*$i;
}
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>2.3</title>
</head>
<style type="text/css">
td{
text-align: center;
}
</style>
<body>
<form action="" method="post">
<table border="1">
<tr>
<td colspan="2">
求阶乘
</td>
</tr>
<tr>
<th>
请输入一个数:
</th>
<td>
<input type="text" id="num" name="num">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交">
</td>
</tr>
</table>
<p>结果:</p>
<p>
<?php echo $sum; ?>
</p>
</form>
</body>
</html>
4.
<?php
header('Content-type:text/html;charset=utf-8');
$sum = 0;
$a = 0;
$b = 0;
$c = 0;
echo '水仙花数:' . '<br/>';
for ($i = 1; $i <= 9; $i++) {
for ($j = 0; $j < 9; $j++) {
for ($n = 0; $n < 9; $n++) {
$m = $i * 100 + $j * 10 + $n;
$M = pow($i, 3) + pow($j, 3) + pow($n, 3);
if ($m == $M) {
echo $i . ' ' . $j . ' ' . $n . '<br/>';
}
}
}
}
5.
<?php
$Sum=0;
if(!empty($_POST)){
$n1=$_POST['n1'];
$n2=$_POST['n2'];
$m=$_POST['C'];
if($m=='+'){
$Sum= $n1+$n2;
}
if($m=='-'){
$Sum= $n1-$n2;
}
if($m=='*'){
$Sum= $n1*$n2;
}
if($m=='/'){
$Sum= $n1/$n2;
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Calculator</title>
</head>
<body>
<form action="" method="post">
第一个数:<input name="n1" type="text" >
<br>
<input type="radio" name="C" value="+">+
<input type="radio" name="C" value="-">-
<input type="radio" name="C" value="*">*
<input type="radio" name="C" value="/">/
<br>
第二个数:<input name="n2" type="text" > <br>
<input type="submit" value="提交">
<br>
<p>
answer:<?php echo $Sum;?>
</p>
</form>
</body>
</html>
6.
<?php
for($i=0;$i<100;$i++)
{
if($i%3==0)
{
if($i<10)
{
if($i==6)
{
echo $i;
echo ' ';
}
}
if($i>10)
{
$n=$i%10;
if($n==6)
{
echo $i;
echo ' ';
}
}
}
}
7.
<?php
for($i=100;$i<200;$i++)
{
if($i%3==1&&$i%4==2&&$i%5==3)
{
echo "可能共有:";
echo $i.' ';
echo "人
";
}
}
8.
<?php
$n = 100000;
$m = 0;
echo ' <meta charset="UTF-8">';
for (; ;) {
if ($n <= 0) break;
++$m;
if ($n > 50000) {
$n = $n - $n * 0.05;
echo "目前现金: " . $n . "元 第" . $m . "次缴费
";
echo '<br>';
} else
{
$n=$n-5000;
echo "目前现金: ".$n." 第".$m."次缴费
";
if($n<0)
{
echo"缴费失败";
$m=$m-1;
}
echo '<br>';
}
}
echo "由于资金不足,所以最终可以经过".$m."个路口";
?>
实验截图:
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
实验体会:
在今天的PHP实验课上,学习体验了编写php网页的快乐,在编程过程中也是遇到了一些问题,像是第七题,当运行结果出来的时候才知道原来不止一个数,第六题不就是十位个位都是三的倍数的嘛,之类的,练习了数组的定义,以及相应的部分运算,和html相比的话,感觉各有异同。不过PHP的数据处理要比html高效一些。而且通过今天的PHP上机训练,明显感觉到自己对代码的掌控能力提高了不少。