1208 - C语言8.11

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

按顺序输出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;
}

Java解答

import java.util.*;

public class Main{
	public static void main (String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int sn=1;
		for(int i=1;i<=n;i++){
			sn*=i;
			System.out.print (sn+" ");
		}
		System.out.println ();
	}
}