输入描述:
若干行,每行一个整数n(1<=n<=20)。
输出描述:
按顺序输出每个整数的阶乘,一个结果占一行。
输入样例1:
2
6
(结尾无空行)
输出样例1:
2
720
(结尾无空行)
输入样例2:
5
1
3
(结尾无空行)
输出样例2:
120
1
6
(结尾无空行)
输入描述:
若干行,每行一个整数n(1<=n<=20)。
输出描述:
按顺序输出每个整数的阶乘,一个结果占一行。
输入样例1:
2
6
(结尾无空行)
输出样例1:
2
720
(结尾无空行)
输入样例2:
5
1
3
(结尾无空行)
输出样例2:
120
1
6
(结尾无空行)
你题目的解答代码如下:
#include<iostream>
using namespace std;
int main()
{
int i,n=5;
long long f;
while (cin >> n)
{
f = 1;
for(i=2;i<=n;i++)
f *= i;
cout << f << endl;
}
return 0;
}
如果要在手工输入时,让输入和输出内容就是分开的。
可以用数组保存输出结果,全部输入完毕后输出。
由于没有规定输入的数量。在window系统中,通过键盘输入时,按Ctrl+Z组合键后再按回车键,就代表输入结束。
在UNIX/Linux/Mac OS系统中,Ctrl+D代表输入结束。
#include<iostream>
using namespace std;
int main()
{
int i,n,j=0;
long long f[100];
while (cin >> n)
{
f[j] = 1;
for(i=2;i<=n;i++)
f[j] *= i;
j++;
}
for(i=0;i<j;i++)
cout << f[i] << endl;
return 0;
}
如有帮助,望采纳!谢谢!