php, къде е грешката ?!

master89q

Registered
Здравейте! Трябва да напиша програма със следното условие :

"Напишете програма, която пресмята сумата от цифрите на n-цифрено число.
Стойността на n е зададена предварително. За да определите броя на итерациите и/или извиквания на функции може да използвате strlen().
За решението на задачата трябва да използвате поне една потребителски дефинирана функция."

та написал съм е, но някъде греша.Моля за редакция и коментар !! Мерси

____________________________________________________________
____________________________________________________________

<?php
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$s = (int) $_POST['s'];

function ostatak ($s)
{

$n= strlen ($s);
for ($i=1; $i<=$n; $i++)
{
$total+=($s%10);
$s=($s/10);
}
return $total ;
}
echo ostatak($s);
}

?>
 
Проблема е, че все вади едно и също число за отговор а именно (12) ..
Ето и целият код :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>zad4.KS</title>
</head>
<body bgcolor="#CCCCCC">

<form action="zad3.func.php" method="post" >
Въведете стойност за n: <input type="text" name="n" /> <br />
<br />
<br />
<HR WIDTH=400 ALIGN="left">
<br />

<input type="submit" />

</form>
</body>
</html>




<?php
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$s = (int) $_POST['s'];
$s = (int) '39';
function ostatak ($s)
{

$n= strlen ($s);
$total = 0;
for ($i=1; $i<=$n; $i++)
{
$total+=($s%10);
$s=($s/10);
}
return $total ;
}
echo ostatak($s);
}

?>
 
<?php
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$s = (int) $_POST['n'];
//$s = (int) '39'; Това ти дава отговор 12 всеки път. Махни го.
function ostatak ($s)
{

$n= strlen ($s);
$total = 0;
for ($i=1; $i<=$n; $i++)
{
$total+=($s%10);
$s=($s/10);
}
return $total ;
}
echo ostatak($s);
}

?>
 

Back
Горе