95396 28 4 400
95 45 20 0396 162 12 228 16 6440 0
代码如下:
#include <iostream> using namespace std; int main() { int n,i; while (cin>>n&&n!=0) { int x=n,a[10]= {1}; while (x>=10) { cout<<x<<" "; i=0; while (x!=0) { a[i]=x%10; x/=10; i++; } int m=i; x=1; for (i=0; i<m; i++) { x*=a[i]; } } cout<<x; cout<<endl; } return 0; }
运行结果:
学习心得:
这道题是稀里糊涂的做出来的,看错题意然后写了一堆代码,然后删着删着就对了。。。不过还是错了一次,原因是没有注意到10这个数的问题,我用的while (x>10)而应该是(x>=10)。。。我的AC率啊!!!