看板 C_and_CPP 關於我們 聯絡資訊
之前做到一題面試考題 題目大概是將輸入一段數字 ex: 567 將數字個別相加後直到剩下一位後輸出 567-> (5+6+7) 18 -> (1+8) 9 輸出9 我在想這個用gets(string) 之後用atoi轉 可是好像行不通= =? 腦袋有點卡住 請問這有比較好的方法嗎? -- ___ ╔══════╗ 小姐,打擾了 ▄▄▄ ═════╗ ╱ ╲ ║等等喔! ^.< ║ 我來收房租了 ▂███▂ │◎ ◎│ ║我在換內衣~║ ︵ ︵ ~│────│~ ╣你別開燈喔! ║ ‧ ‧ >(。) (。)< ╚══════╝ │ │ ψdiabloq13 ███◣ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.31.81
hilorrk:一直x/10+=x%10到x<10就可以了? 08/04 23:33
james732:不如你整個試著寫寫看 遇到問題再拿上來討論? 08/04 23:35
james732:別只用想的 開啟你的IDE來敲程式碼吧 08/04 23:35
tinlans:數學解跟技術解都可以吧。 08/04 23:39
loveme00835:C++ 的話可以 string + accumulate 08/04 23:44
hilorrk:可以單純用string+acc而不用loop達到嗎@@? 沒試過耶XD 08/04 23:46
akasan:accumulate 不也是迴圈嗎XD? 08/04 23:50
hilorrk:用acc從頭加到尾我會啦...不過我想到還是要判斷長度 08/04 23:52
hilorrk:不是個位數的話再做一次acc... 08/04 23:53
loveme00835:http://nopaste.csie.org/e4f18 用模版 XD 08/05 00:06
hilorrk:boss:spec要求要"輸入"數字 template版不符合 reject! 08/05 01:05
softwind:cin>>n; while(n>=10){n= n/10+n%10; } cout<<n; 08/05 01:09
atoi:ㄟ這題是不是看該數字%9是多少就多少阿 整除除外 整除是9 08/05 07:48
cutecpu:推樓上(Y)! 還有被 0 整除的話就是 0 了 XD 08/05 08:35
VictorTom:樓上應該有什麼typo在....XD 08/05 09:36
loveme00835:template + metaprogramming 就好了阿 (  ̄ c ̄)y▂ξ 08/05 11:40
xatier:不用atoi可以試試sscanf(); 08/05 13:04
tinlans:atoi 和 gets 都已經是 deprecated functions 了。 08/05 19:15
tinlans:atoi() 就算了,現在做技術的看到你用 gets(), 08/05 19:17
tinlans:眉頭可能都會皺一下,會不會扣分我就不知道了。 08/05 19:17
ledia:會 08/06 10:53