iT邦幫忙

0

已解決//求問 學校的C++作業問題

  • 分享至 

  • xImage

要求:
1.輸入一個整數,並計算每個數字的總和
2.需要使用 while 迴圈進行連續輸入和整數分割計算
3.輸入 -1 則結束程式

比如輸入 123456,將每個數字分割開來後計算 1 + 2 + 3 + 4 + 5 + 6,最後輸出結果 21
提示:善用 "%" 跟 "/" 來進行計算

(用的程式是Dev-C++)

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
黃彥儒
iT邦高手 1 級 ‧ 2021-05-24 22:27:42

作業公定價:1000台幣

jack8900 iT邦新手 2 級 ‧ 2021-05-26 09:00:14 檢舉

別篇文章有人說起碼5000起跳~

0
flyotlin
iT邦見習生 ‧ 2021-05-25 00:01:10

給個pseudocode,建議你可以想一下程式邏輯,再把他變成C++的code,雖然跟C++ code沒什麼差別ㄌ

num := 題目給的數字(123456)
sum := 最後的答案(initial 0)

while num > 0
    sum = sum + (num % 10)
    num = num / 10
0
YC
iT邦好手 1 級 ‧ 2021-05-26 15:36:12
  1. 沒問題
  2. 最近幾年,我習慣用functional programming
  3. 這個不急
    C++很久沒用了,我給個swift版本
extension Int {
    var 總和: Int {
        return "\(self)"          // 數字轉字串
            .reversed()           // 反轉字串成字元陣列
            .map{"\($0)"}         // 字元陣列轉字串陣列
            .map{Int($0) ?? 0}    // 字串陣列轉數字陣列
            .reduce(0, +)         // 數字陣列求和
    }
}
print(123456.總和)

我要發表回答

立即登入回答