求n!

来源:互联网 发布:喷绘用什么软件做 编辑:程序博客网 时间:2024/04/30 05:35

法一()递归用法:

#include<stdio.h>
int f(int k);
int main()
{
 int n,s;
 while(scanf("%d",&n)!=EOF)
 {
  s=f(n);
  printf("%d\n",s);
 }
 return 0;
}
int f(int k)
{
 int m;
 if(k==0||k==1)
 return 1;
 else if(k>1)
 m=k*f(k-1);
 return m;

}

法2(一般法):

#include<stdio.h>
int main()
{
 int n,i,t,s=1;
 while(scanf("%d",&n)!=EOF)
 {
  if(n==0||n==1)
  printf("%d\n",s);
  else if(n>1)
  {
   t=1;
      for(i=1;i<=n;i++)
      t=t*i;
      printf("%d\n",t);
  }
   
  
 }
 return 0;
}

0 0
原创粉丝点击