2014-06-17 94 views
-3

我不知道這裏有什麼問題。當我劃分(在回報語句中)時,它會給我「源文件中的無效字符」。如何使用兩個變量快速劃分兩個數字?

我試着在'總和'和'數字'之間給出一些空間,但沒有任何適用於我的作品。

func sumOf(numbers:Int...)->(Int) { 
    var sum=0 
    for numbers in numbers { 
     sum+=numbers 
     // 
    } 
    //println("\(numbers)") 
    return sum/numbers 

} 
+0

的除法運算器是'/' – Felix

+0

亞我嘗試「/」也它給了我「無法找到過載/接受提供的參數' – guru

回答

4
  1. 除法運算符是/,不\

  2. sum\numbers - 呃,什麼?你的意思是sum/numbers.count

2

return sum\numbers

我想你可能是指以斜槓(/)字符,而不是一個反斜槓。

而且,我很驚訝你過去,這:

for numbers in numbers {

好像你應該比你使用的參數,像這樣的迭代變量使用不同的名稱:

for n in numbers { 
+0

返回sum \數字也給我錯誤「源文件中的無效字符」 – guru

+0

@guru是的,當然它......我引用你的代碼來指出問題。我在下面解釋了它的問題。你應該使用'sum/numbers'而不是'sum \ numbers'。 – Caleb

+0

沒有理由說編譯器應該給你一個關於對循環變量使用相同名稱的錯誤,這只是表示無論你正在迭代的內容都會在循環期間被遮蔽。 – porglezomp

0

您需要使用「/」來劃分,而不是「\」。

所以,

return sum/numbers 
0

在「for」語句之外,「numbers」是一個數組。你不能用一個數組類型來分割一個Int(除非你重載/運算符,可能產生一個數組結果?)。也許你想使用數組呢?

0

由於數字是一個列表,你不能除以它。您應該使用numbers.count。您還在你for -loop有一個錯誤,你應該添加number而不是number_s_

func averageOf(numbers: Int...) -> Int { 
    var sum = 0 
    for number in numbers { 
     sum += number 
    } 
    return sum/numbers.count 
}