现在位置: 首页 > C 教程 > 正文

C 语言实例 - 阶乘

C 语言实例 C 语言实例

一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且 0 的阶乘为 1。自然数 n 的阶乘写作 n!

n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,1!=1,n!=(n-1)!×n

实例

#include <stdio.h> int main() { int n, i; unsigned long long factorial = 1; printf("输入一个整数: "); scanf("%d",&n); // 如果输入是负数,显示错误 if (n < 0) printf("Error! 负数没有阶乘jiechen"); else { for(i=1; i<=n; ++i) { factorial *= i; // factorial = factorial*i; } printf("%d! = %llu", n, factorial); } return 0; }

运行结果:

输入一个整数: 10
10! = 3628800

实例 - 使用递归

#include <stdio.h> long int multiplyNumbers(int n); int main() { int n; printf("输入一个整数: "); scanf("%d", &n); printf("%d! = %ld", n, multiplyNumbers(n)); return 0; } long int multiplyNumbers(int n) { if (n > 1) return n*multiplyNumbers(n-1); else return 1; }

C 语言实例 C 语言实例