2009-12-28 5 views
-1

Ecrire Script pour lire un nombre entier positif, il calcule la séquence suivante: Si le nombre est encore, diviser par deux S'il est étrange multiplier par 3 et ADD1Erreur de syntaxe dans cShell Script

Vous devez répéter ce processus jusqu'à ce que la valeur soit 1, en imprimant chaque valeur et combien de ces opérations vous avez effectuées.

#! bin\csh 

echo "please enter any integer number :) " 

set count=0 

set number=$< 

while($number != 1) 

    if($number % 2) then 

     @ number = number * 3 + 1 

    else 

     @ number = number/2 

    endif 

    echo " $number " 

    @ count = count ++ 

end 

echo I performed these operations $count times 

Quand je lance le script que je reçois l'erreur suivante: @: Expression Syntax.

+1

S'il vous plaît utiliser le bon formatage, un titre utile pour la question. – BastiBen

+1

Cela ressemble à des devoirs ou à une question d'entrevue. –

+0

Je ne me souviens pas de csh, mais isnt $ count au lieu de @count? – Tom

Répondre

2

je crois que sa variable $ pour obtenir sa valeur

$ 
    Obtains the value of the variable. 

@ var = $a + $x * $z 

source de http://www.eng.hawaii.edu/Tutor/csh.html

Donc ce serait

@count = $count +1 

Et la ligne

#!bin\csh 

me fait frissonner

+0

D'accord, je pense que ce serait quelque chose comme #!/Bin/csh –

+0

oui, merci beaucoup je l'oublie – sara

0

i obtenir la solution correcte :)

#! /bin/csh 

echo "please enter any integer number :) " 

set count=0 

set inc=1 

set number=$< 

while($number != 1) 

    if($number % 2) then 

     @ number = $number * 3 + 1 

    else 

     @ number = $number/2 

    endif 

    @ count = $count + $inc 

    echo " $number " 


end 

echo I performed these operations $count times