一道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]);
}
-------------------------------------------------------
程序运行,输入数据后错误。 展开
输入形式
输入一行,只包括一个整数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]);
}
-------------------------------------------------------
程序运行,输入数据后错误。 展开
1个回答
2017-11-28
展开全部
你的 jc 函数写的有问题。试试这个:
int jc(int a)
{
if(a == 1)
return 1;
return a * jc(a - 1);
}
这个函数简单多了,返回值就是 a 的阶乘。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询