输入一个正整数 要求计算各位数之积 例如 输入123 输出6

C++

int Product(int nNum)
{
int nPrv = nNum / 10;
int nLast = nNum % 10;
if ( nNum < 10 )
{
return nNum;
}
return nLast * Product(nPrv);
}

int _tmain(int argc, _TCHAR* argv[])
{
int nNum = 0;
while ( 1 )
{
scanf("%d", &nNum);
printf("%d,%d\n",nNum,Product(nNum));
}

return 0;
}

// 注意输入的如果含零 结果会是0追问

就是简单点的

追答

就一个递归难理解点.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-03
#include <iostream>
#include <string>
using namespace std;

int main() {
string s;
while (cin >> s) {
int ans = 1;
for (int i = 0; i < s.size(); i++) {
ans *= s[i] - '0';
}
cout << ans << endl;
}
}