2015-03-13 26 views
-2

php几次练习后,我发现两个练习,我卡住了,虽然我已经给了它很多尝试。在单元位置查找数字PHP

一日一:

编写一个简单的程序打印数字的单元代替由用户输入的数字。

输入:输入数:3457

输出7

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


    //{Write down your logic here 



    //} 
    echo $answer; 
    exit; 
?> 

的第二一个:

写程序来查看数是否为的偶数倍3.

输入:输入数字:6

输出:是

输入:数量:9

输出:无

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






    //} 
    exit; 
?> 

谢谢:)

+3

我们将获得证书,而不是你....是它确定为ú? – user1844933 2015-03-13 11:55:08

+0

@ user1844933好说! :) – neophyte 2017-10-16 08:51:30

回答

0

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

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

//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"; 
+0

谢谢!你是最棒的:) – 2015-03-13 19:56:23

+0

不客气@HamzaCharkaoui':)'。请考虑结束您的问题并[接受答案](http://meta.stackexchange.com/a/5235)。这会通知其他用户您的问题已得到解答和帮助。 – 2015-03-14 12:25:37

0

虽然我仍然认为有更好的方法来解决这个练习。我能够使用下述溶液

<?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; 
?> 
0

我用它传递这样一个:

<?php 
    $answer=0; 
    echo "Enter Number:"; 
    $number = trim(fgets(STDIN)); 
    $x= $number; 
    $i= $x; 
    $m= 0; 
    if ($x > 0 && $x > 10) { 
    do { 
     $x = $x-10; 
     $m= $m +1; 
    } while ($x > 10); 
    $m= $m*10; 
    $answer=$i-$m; } 
    elseif ($x < 0){ 
     $i=$x*(-1); 
     $x=$x*(-1); 
      do { 
     $x = $x-10; 
     $m= $m +1; 
    } while ($x > 10); 
    $m= $m*10; 
    $b=$i-$m; 
    $answer=$b*(-1); 
    } 
    else 
    $answer=round($number); 


    //} 
    echo $answer; 
    exit; 
?> 
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; 
?> 
0

解决方案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; 
?>