麻烦各位高手帮我看一下这个C++程序哪儿错了,谢了。 题目:输入n,求1!+2!+3!+…+n!

#include<iostream>
using namespace std;
int main() {
int sum=0,i=1,m=1;
int n,j;
cout<<"Please enter n:";
cin>>n;
for (i=1;i<=n;i++) {
while (j<=i) {
j=1;
m=m*j;
j++;
}
sum=sum+m;
}
cout<<"The result is:"<<sum<<endl;
return 0;
}

while (j<=i) {
j=1;
m=m*j;
j++;
}
j++了 循环回来 j又被你赋值成1了..死循环.
j=1应当放在 while外面.
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-31
j=1;放在外面
每次都会被重设成1的
并且j没有初始化,可能走不进while循环
所以每次结果不同
相似回答
大家正在搜