展开全部
fac(int n)//递归调用函数
{
int t;
if(n==1||n==0)
return 1;
else
{
t=n*fac(n-1);//t=n*(n-1)*(n-2)*...*1
return t;
}
}
main()
{
int n,y;
printf("Enter n:");
scanf("%d",&n); //这边输入你要求的数
if(n<0)//保证n不为负数
printf("Enter data Error! try");
else
{
y=fac(n);
printf("\n%d!=%d \n",n,y); 输出该数的阶乘
}
}
希望对你有所帮助!
追问
语句错误,用win-tc运行有错
追答
嗯?? 提示什么错误呢?
展开全部
可以使用递归,也可以使用循环实现。
#include <stdio.h>
int FactorialLoop(int num)
{
int ret_value;
if(num == 0)
{
ret_value = 1;
}
while(num > 0)
{
/*
应该加上对ret_value最大值的判断
*/
ret_value = ret_value * num;
num--;
}
return ret_value;
}
int main()
{
int iNum;
/*
iNum可以从控制台获取
*/
iNum = 5;
printf("%d",FactorialLoop(iNum));
}
上面是循环实现的。
追问
main( )
{ int S=1,i;
for(i=1;i<=5;i++)
S=S※
printf(“%d”,S);
getch()
}
追答
不知道你要说什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
int n=5;
int sum=1;
for(i=1;i<=5;i++)
sum*=i;
printf("%d",sum);
}
void main()
{
int n=5;
int sum=1;
for(i=1;i<=5;i++)
sum*=i;
printf("%d",sum);
}
追问
语句错误,用win-tc运行有错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-03
展开全部
用for循环啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |