作者lbld (lbld)
看板C_and_CPP
標題[問題] 請問螞蟻書習題1.36
時間Sun Jul 19 08:53:42 2009
習題如下:
寫出一個程式後,輸入一個五位數的數目,
將這個數目分成個別的數字,
然後將每個數字分別印出,
數字中間相隔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
1F:→ ilway25:暴力法: b = (x / 1000) % 10; 07/19 09:28
2F:推 llewxam:用字串輸入試試看 07/19 09:45
3F:推 snowlike:for(i=0;x>=1;++i) {..buffer[i]=x%10; x=x/10; ..} 07/19 09:56