PHP 课下小练习,大家能帮我看看怎么做呀?

新手上路,请多包涵

我想的是百位为0是不是也算一个条件呀?可是要怎么写呢???

这是问题

输入一个三位整数,反序输出它。不要输出无效的0位。

下面是本地调试和提交服务器评测操作方法:

<?php
//本机调试
//先在web根下建立data.txt文件
//data.txt内容:120
//从文件中读入数据
$a=file_get_contents("data.txt");
//提交评测时,注释掉上面这句,采用下面这句:
//fscanf(STDIN,'%d',$a);

这是我写的

<?php

fscanf(STDIN,'%d',$a);

$a3=floor($a/100);
$a2=floor($a/10) % 10;
$a1=$a % 10;
if($a1==0&&$a2==0)
{
   echo "$a3";
       
   }else if ($a1==0) {
        echo "$a2$a3";
   }else if($a2==0){
       echo "$a1$a3";
   }else{
       echo "$a1$a2$a3";
   }
   
阅读 1.8k
1 个回答
fscanf(STDIN, "%d", $a);

// 以下方法适用n位数
// php大法
echo ltrim(strrev($a), "0") . PHP_EOL;

// 纯数学判断
$temp = $a;
$i = 0;
while(($temp = floor($temp / 10)) > 0) {
    $i ++;
}
$temp = $a;
$res = 0;
while($temp > 0) {
    $res += ($temp % 10) * pow(10, $i);
    $temp = floor($temp / 10);
    $i--;
}
echo $res . PHP_EOL;

// 数学加逻辑
$temp = $a;
$first = true;
while($temp > 0) {
    $res = ($temp % 10);
    if (!$first || $res != 0) {
        echo $res;
        $first = false;
    }
    $temp = floor($temp / 10);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题