我想稍微不同地打印一个数字的阶乘。我对c ++很新,所以我想在这里得到一些帮助。假设我将输入设为5意味着如果逻辑正确,我将得到120作为输出。但我想要的是我的输出就像这样1 2 6 24 120
就像第一个f * i然后再次f *我喜欢那个。我对逻辑有点困惑所以请有人帮助我。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ofstream fact("factorial.txt");
int i,n,f=1;
cin>>n;
for(i=1;i<=n;i++)
{
f=f*i;
fact<<i<<" ";
}
fact<<endl;
fact<<f<<" ";
return 0 ;
}
在循环中添加f
就可以了。我还添加了一些文字
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
cout << "Please Enter a Number for calculation: ";
ofstream fact("factorial.txt");
int i,n,f=1;
cin>>n;
for(i=1;i<=n;i++)
{
f=f*i;
fact<<f<<" ";
}
fact<<endl;
fact<<f<<" ";
cout << "The result is:" << f;
cout << "\nYou can check the process in the Factorial.txt";
return 0 ;
}
你也可以考虑看看这篇文章;因为它将在使用C ++时帮助您。 Why is "using namespace std" a bad practice.