为什么就得不到正确的结果
#include <iostream>
#include <cmath>
using namespace std;
int main() //分解质因数
{
int i, j;
cout << "请输入要分解质因数的数字:";
cin >>i;
cout<< i << "= 1";
for(j=2; j<=i; ++j)
{
if(j==i)
cout<< "*" << i << endl;
else if(i%j==0)
{
cout<< "*" <<j;
i = i/j;
}
}
return 0;
}
只要我输入的数包含4和9这两个因数, 就得不到正确的结果, 我自己也分析了一下, 分解4和9时 运行for(j=2; j<=i; ++j)就提前跳出去了, 大家帮我分析一下, 应该怎么改一下,谢谢各位大虾了