作者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