從礁HORSTMANN的「C++對每個人」 第4章:循環需要幫助的C++循環練習
編寫一個程序,增加了正的所有奇數數字的總和。 (例如,如果n爲32677,總和是3 + 7 + 7 = 17)
我不知道如何讓電腦「看」之類的數字分開他們
從礁HORSTMANN的「C++對每個人」 第4章:循環需要幫助的C++循環練習
編寫一個程序,增加了正的所有奇數數字的總和。 (例如,如果n爲32677,總和是3 + 7 + 7 = 17)
我不知道如何讓電腦「看」之類的數字分開他們
n % 10
得到數字的價值。你可以從那裏弄明白嗎?
這是一個提示。 C++的模數運算符爲%
。當兩個數字分在一起時它會產生餘數。所以,如果我想知道在這數大於10的最後一個數字我會模數10和得到的結果
int lastDigit = number % 10;
基地-10整數i
的最後一個數字等於i % 10
。 (作爲參考,%
是模數運算符;它基本上返回將左邊的數字除以右邊的餘數。)
因此,現在您有最後一位數字了。一旦你這樣做了,把它加到你保留的運行總數中,把i
除以10(有效地將數字向下移一位)或者你的情況100(兩個地方),然後從頭開始。重複,直到i == 0
。
這裏的人們並不是爲您提供鍛鍊的答案,而是爲您提供提示,以便您可以自行找到答案,更重要的是瞭解答案。
開始,下面的算術運算將幫助您:
loop:
right_most_digit = n % 10
n = n/10
end_loop
是的,我想通了。我只是沒想到之後將數字除以10 – Alex 2011-04-23 00:02:15