mydal

怕光阴流逝 让一切都作废

0%

php循环

php循环经典练习题

循环在每个语言里都必不可少,之前学习python,js都接触过,现在学习php又重新接触,为了加深理解,写一篇博客水一下.

php循环打印图形

直角三角形

1
2
3
4
5
6
7
8
9
//直角三角形
for($i=1;$i<=5;$i++){
// 外层循环控制换行
for($j=1;$j<=$i;$j++){
// 内层循环打印
echo "*";
}
echo "<br/>";
}

11.png

金字塔

1
2
3
4
5
6
7
8
9
10
11
for($i=1;$i<=6;$i++){
// 外层循环控制换行
for($j=1;$j<=6-$i;$j++){
// 输出空格
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
echo "*";
}
echo "<br/>";
}

11.png

倒金字塔

1
2
3
4
5
6
7
8
9
10
//倒金字塔
for($i=6;$i>=1;$i--){
for($j=1;$j<=6-$i;$j++){
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
echo "*";
}
echo "<br/>";
}

11.png

菱形

正金字塔和倒金字塔连起来就是菱形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//菱形
//正金字塔
for($i=1;$i<=6;$i++){
for($j=1;$j<=6-$i;$j++){
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
echo "*";
}
echo "<br/>";
}
//倒金字塔
for($i=6;$i>=1;$i--){
for($j=1;$j<=6-$i;$j++){
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
echo "*";
}
echo "<br/>";
}

11.png

空心菱形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//空心菱形
for($i=1;$i<=6;$i++){
for($j=1;$j<=6-$i;$j++){
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
if($i==1){
echo "*";
}else{
if($k==1 || $k==2*$i-1){
echo "*";
}else{
echo "&nbsp;";
}
}
}
echo "<br/>";
}

for($i=6;$i>=1;$i--){
for($j=1;$j<=6-$i;$j++){
echo "&nbsp;";
}
for($k=1;$k<=2*$i-1;$k++){
if($k==2*$i-1 || $k==1){
echo "*";
}else{
echo "&nbsp;";
}
}
echo '<br/>';
}

11.png

php循环练习

求1000以内的水仙花数

1
2
3
4
5
6
7
8
9
10
//求水仙花数
for($i=100;$i<1000;$i++){
$ge=$i%10;
$shi=floor($i/10)%10;
$bai=floor($i/100);
if($ge*$ge*$ge+$shi*$shi*$shi+$bai*$bai*$bai==$i){
echo "{$i}是水仙花数";
echo "<br/>";
}
}

11.png

求一到一百之间不含数字4的自然数 并且计算有多少个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$sum = 0;
for ($i = 1; $i <= 200; $i++) {
$ge = $i % 10;
$shi = $i / 10 % 10;
if ($ge == 4 || $shi == 4) {
continue;
} else {
$sum++;
}
}
echo "{$sum}个"; //162
//方法2
$num = 0;
for ($i = 1; $i <= 200; $i++) {
if (strpos($i, '4') === false) {
$num++;
}
}
echo $num; //162

输出一到一百之间所有的质数

1
2
3
4
5
6
7
8
9
10
for($i=2;$i<=100;$i++){
for($j=2;$j<=$i;$j++){
if($i%$j==0){
break;
}
}
if($i==$j){
echo $i."<br/>";
}
}

打印九九乘法表

1
2
3
4
5
6
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
echo "$j*$i=".$i*$j."&nbsp";
}
echo "<br/>";
}

百鸡问题

100块钱买一百只鸡 公鸡5块钱一只 母鸡3块钱一只 小鸡一块钱三只 100块钱必须花完 问:公鸡 母鸡 小鸡各多少只

1
2
3
4
5
6
7
8
9
10
11
for($i=1;$i<100;$i++){
for($j=1;$j<=100;$j++){
$k=100-$i-$j;
if($i*5+$j*3+$k/3==100){
echo "公鸡".$i;
echo "母鸡".$j;
echo "小鸡".$k;
echo "<br/>";
}
}
}

总结:

学习循环还是很锻炼思维的 尤其是我这种菜比 加油吧 路还长!!!!!!