阶乘之计算从入门到精通-菜鸟篇
摘要:本文给出一些最简单的计算阶乘的程序,这也是许多C语方言初学者写出的算阶乘的程序。它虽然不能正确地计算出大数阶乘,但它依然有许多正确的思想。让我们从错误中开始,开始一个漫长的,充满乐趣的探索大数阶乘计算之路吧… 程序1,一个最直接的计算阶乘的程序 #include "stdio.h" #include "stdlib.h" int main(int argc, char* argv[]) { long i,n,p; printf("n=?"); scanf("%d",&n); p=1; for (i=1;i<=n;i++) p*=i; printf("%d!=%d/n",n,p); return 0; } 程序2,稍微复杂了一些,使用了递归,一个c++初学者写的程序 #include <iostream.h> long int fac(int n); void main() { int n; cout<<"input a positive integer:"; cin>>n; long fa=fac(n); cout<<n<<"! ="<<fa<<endl; } long int fac(int n) { long int p; if(n==0) p=1; else p=n*fac(n-1); return p; } 程序点评,这两个程序在计算12以内的数是正确,但当n>12