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; }