2009-12-28 128 views
-1

寫腳本讀取一個正整數,然後它計算順序如下: 如果數字是偶數,減半它 如果是奇數3和ADD1乘以語法錯誤

你應該重複此過程直到值爲1,打印出每個值以及您執行的操作數量。

#! 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 

當我運行該腳本,我得到以下錯誤: @: Expression Syntax.

+1

請使用正確的格式,對於這個問題的有用稱號。 – BastiBen 2009-12-28 20:56:51

+1

聽起來像作業或面試問題。 – 2009-12-28 20:57:15

+0

我不記得csh,但是不是$ count而不是@count? – Tom 2009-12-28 20:58:26

回答

2

我相信它的$變量來獲取它的值

$ 
    Obtains the value of the variable. 

@ var = $a + $x * $z 

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

因此,這將是

@count = $count +1 

併線

#!bin\csh 

讓我顫抖

+0

同意,我會認爲它會像#!/ bin/csh – 2009-12-28 21:04:29

+0

是的,非常感謝 我忘記了它 – sara 2009-12-28 21:11:00

0

我得到正確的解決方案:)

#! /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