[問題] 請問螞蟻書習題1.36

看板C_and_CPP (C/C++)作者 (lbld)時間16年前 (2009/07/19 08:53), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
習題如下: 寫出一個程式後,輸入一個五位數的數目, 將這個數目分成個別的數字, 然後將每個數字分別印出, 數字中間相隔3個空格(用餘數除法運算子) example:輸入 12345 輸出 1 2 3 4 5 這一題我只想得出暴力法如下: #include "stdafx.h" #include <iostream> using namespace std; int main() { int x,a,b,c,d,e; cout<<"enter five number:"<<endl; cin>>x; a = (x-(x%10000))/10000; b = ((x-(x%1000))-a*10000)/1000; c = (((x-(x%100))-a*10000)-b*1000)/100; d = ((((x-(x%10))-a*10000)-b*1000)-c*100)/10; e = x-a*10000-b*1000-c*100-d*10; cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<endl; return 0; } 不過我想用迴圈應該是比較好的方法, 但是我想不出來要怎麼把我以上的方法用迴圈表示, 或是請大大可以指點更直覺的迴圈寫法, 小弟是初學者,真的很用力的想過了想不出來, 麻煩各位指點一下,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.77.206.157

07/19 09:28, , 1F
暴力法: b = (x / 1000) % 10;
07/19 09:28, 1F

07/19 09:45, , 2F
用字串輸入試試看
07/19 09:45, 2F

07/19 09:56, , 3F
for(i=0;x>=1;++i) {..buffer[i]=x%10; x=x/10; ..}
07/19 09:56, 3F
文章代碼(AID): #1AOcwNda (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AOcwNda (C_and_CPP)