1208 - C语言8.11

按顺序输出1至n的阶乘值。要求使用函数中的局部静态变量保存上一次阶乘的值,用于下一次阶乘值的运算。

题目输入

一个不超过10的正整数n。

题目输出

在一行内输出n个整数,分别表示从1至n的阶乘值,每个整数后输出一个空格。

请注意行尾输出换行。

输入/输出样例

题目输入

5

题目输出

1 2 6 24 120 

C语言解答

#include<stdio.h>
int main()
{
	int i,n,p=1;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		p=p*i;
		printf("%d ",p);
	}
	printf("\n");
	return 0;	
}

C++解答

#include <stdio.h>
int main() {
	int fac(int n);
	int i, n;
	scanf("%d", &n);
	for (i = 1;i <= n;i++)
		printf("%d ", fac(i));
	puts("");
	return 0;
}
int fac(int n) {
	static int f = 1;
	f = f * n;
	return f;
}

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题