目录
任务描述
本关任务:计算 n 的阶乘。
相关知识
参照第一关相关知识。
编程要求
根据提示,在右侧编辑器中的 Begin-End 之间补充代码。编写函数fac
计算 n!。如果 n 是负数,则返回 -1 。 格式要求:阶乘函数的返回值为long
类型,n
为整型。
提示: 0 的阶乘为 1
测试说明
平台会对你编写的代码进行测试。
测试输入:6
预期输出:6的阶乘为720
代码实现如下:
/*本程序计算阶乘*/
#include <stdio.h>
/*请在此处添加代码,进行函数声明*/
/********** Begin **********/
long fac(int x);
/********** End **********/
int main()
{
int n;
long ans;
scanf("%d",&n);
ans = fac(n); /* 调用函数 */
if(ans == -1)
printf("输入的数为负数。");
else
printf("%d的阶乘为%ld",n,ans);
return 0;
}
/*请在此处添加代码,编写函数 fac 计算n!*/
/********** Begin **********/
long fac(int x)
{
int i;
long s=1;
if(x<0)
return -1;
for(i=1;i<=x;i++)
s=s*i;
return s;
}
/********** End **********/
运行结果: