一道C语言函数题求助! 5

写一个函数,给定整数n的阶乘(n不大于30)。在主函数输入一个整数n,输出该整数的阶乘。输入形式输入一行,只包括一个整数n(n不大于30)。输出形式输出一行,输出n的阶乘... 写一个函数,给定整数n的阶乘(n不大于30)。在主函数输入一个整数n,输出该整数的阶乘。

输入形式

输入一行,只包括一个整数n(n不大于30)。

输出形式

输出一行,输出n的阶乘。

样例输入

10

样例输出

3628800
以下是我的程序:
--------------------------------------------------------------------------------------------
#include "stdio.h"
int b;
void main()
{
void jc(int a[]); //jc=阶乘
int a[31];
int i;
scanf ("%d",&b);
for (i=0;i<b;i++)
{
a[i]=i+1;
}
jc(a);
}

void jc(int a[])
{
int i;
for (i=1;i<b;i++)
{
a[i]=a[i]*a[i+1];
}
scanf("%d",a[i-1]);
}
-------------------------------------------------------
程序运行,输入数据后错误。
展开
 我来答
匿名用户
2017-11-28
展开全部

你的 jc 函数写的有问题。试试这个:

int jc(int a)
{
if(a == 1)
return 1;
return a * jc(a - 1);
}

这个函数简单多了,返回值就是 a 的阶乘。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式