【问题标题】:Find digit in unit place | PHP在单位位置查找数字 | PHP
【发布时间】:2015-03-13 11:53:15
【问题描述】:

经过几次 php 练习后,我发现有两个练习卡住了,尽管我已经尝试了很多次。

第一个:

编写一个简单的程序,打印用户输入的数字的单位位数字。

输入:输入数字:3457

输出 7

 <?php 
    $answer=0;
    echo "Enter Number:";
    $number = trim(fgets(STDIN));


     //{Write down your logic here



     //} 
  echo $answer;
  exit;
?>

第二个:

编写一个程序,判断一个数是否是 3 的偶数倍。

input : 输入数字:6

输出:是的

输入:数字:9

输出:无

 <?php 
    echo "Enter the Number:";
    $number = trim(fgets(STDIN));
    //{
    //write down your logic here






    //}
  exit;
?>

谢谢你:)

【问题讨论】:

  • 我们将代替您获得证书....您可以吗?
  • @user1844933 说得好!! :)

标签: php find digit


【解决方案1】:

这是第一个解决方案:

<?php 
    $answer=0;
   echo "Enter Number:";
   $numbers = trim(fgets(STDIN));
    $number = intval($numbers);
if(is_float($number)){
    list($int, $dec) = explode('.', $number);
    if($number < 0){
    $answer = "-".substr($int, -1);
    }
    else{
        $answer = substr($int, -1);
    }
}

else{
     if($number < 0){
    $answer = "-".substr($number, -1);
    }
    else{
        $answer = substr($number, -1);
    }
}

  echo $answer;
  exit;
?>

第二个解决方案

<?php 
 echo "Enter the Number:";
$number = trim(fgets(STDIN));
 //{
    //write down your logic here
  $even = $number % 2;                  //to check number is even or not
 if($even == 0){
  $mod = $number % 3;                   //to check whether it is devisible by 3 or not
  if($mod == 0){
      echo "yes";
  }
  else{
      echo "no";
  }
 }
 else{
     echo "no";
 }

    //}
  exit;
?>

【讨论】:

    【解决方案2】:

    编写一个简单的程序,打印用户输入的数字的单位位数字。

    假设输入是字符串类型,您可以使用字符数组来处理。例如:

    //We subtract 1 from strlen() because indexes start at 0
    echo (string) $number[strlen($number)-1];
    

    编写一个程序来判断一个数是否是 3 的偶数倍。

    我们可以为此使用modulo operator,看看除以3 是否有余数。

    echo ($number % 3 == 0) ? "Yes" : "No";
    

    【讨论】:

    • 谢谢!你是最棒的:)
    • 不客气@HamzaCharkaoui :)。请考虑关闭您的问题和accepting an answer。这将通知其他用户您的问题已得到解答并为您提供帮助。
    【解决方案3】:

    虽然我仍然认为有更好的方法来解决这个练习。我能够使用以下解决方案通过它

    <?php 
        $answer=0;
       echo "Enter Number:";
    
       // Converts the number into a double to cover all input cases
       $number = (double)trim(fgets(STDIN));
    
    
         //{Write down your logic here
    
        // Checks to see if a negetive number was entered
        if ($number <0){
    
        // Gets the Position of the decimal Point and reduce it by 1 to get
        // the position of the Units place
    
        $position = strpos($number, ".") - 1;
    
        // returns the units string and makes it negetive
        $answer = substr ($number,$position,1 ) * -1;
    }
    
    // follows the same as above, leaves string positive
    else {
            $position = strpos($number, ".") - 1;
         $answer = substr ($number,$position,1 );
    
    }
    
         //} 
      echo $answer;
      exit;
    ?>
    

    【讨论】:

      【解决方案4】:

      解决方案 1

      <?php 
          $answer=0;
          echo "Enter Number:";
          $number = trim(fgets(STDIN));
      
      
          $number = intval($number);
          $answer = substr($number, (-1));
          if($number < 0)
          {
              $answer = $answer * -1;
          }
      
      
        echo $answer;
        exit;
      ?>
      

      解决方案 2

      <?php 
          echo "Enter the Number:";
          $number = trim(fgets(STDIN));
      
      
          $number2 = $number / 3;
          if ($number2 % 2 == 0) 
          {
              echo "yes";
          }
          else
          {
              echo "no";
          }
      
      
        exit;
      ?>
      

      【讨论】:

        猜你喜欢
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多