ACM超简单题求高手改错!!!
题目:求阶乘
输入样例:
1
2
0
输出样例:
1!=1
2!=2
输入描述:
输入有多组测试数据,每组测试数据占一行
即每行输入一个正整数N,0<=N <=12,
N 为0表示输入结束。
输出描述:
对于每组测试数据输出格式为:N=ans
其中ans = N!
我的代码:
#include<iostream>
using namespace std;
int main()
{
int n;
int sum=1;
while(cin>>n&&n!=0)
{
for(int i=1;i<=n;i++)
sum=sum*i;
cout<<n<<"!"<<"="<<sum<<endl;
}
return 0;
}
[解决办法]
把int sum=1;放到循环里就行了:
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n&&n!=0)
{
int sum=1;
for(int i=1;i<=n;i++)
sum=sum*i;
cout<<n<<"!"<<"="<<sum<<endl;
}
return 0;
}