C语言递归实现1开始乘到N

求1*2*3*……*n的值

/*
 * test1.cpp
 *
 *  Created on: 2015年7月11日
 *      Author: lshuang
 */
#include<iostream>
using namespace std;
int f(int n);

int main()
{
int n;
cin>>n;
cout<<f(n)<<endl;
return 0;
}

int f(int n)
{
int result=0;
if(n==1)
result=n;
else
result=n*f(n-1);
return result;
}

追问

要C,不要C++

追答

在这里只有输入输出变换,难道连这个都不会

#include<stdio.h>
int f(int n);

int main()
{
int n;
scanf("%d",&n);
printf("%d\n",f(n));
return 0;
}

int f(int n)
{
int result=0;
if(n==1)
result=n;
else
result=n*f(n-1);
return result;
}

追问

数字太大100就不行了

温馨提示:答案为网友推荐,仅供参考
相似回答