简答题
👁️ 浏览量:

试题题干

(1)写一个函数计算自然数n的阶乘(函数头为long fac(int n));
(2)由键盘输入两个自然数a和b且a≤b,调用上述函数计算并输出的值。 

参考答案

试题解析

计算自然数的阶乘中要注意0!和1!的值都为1。计算的值要调用函数long fac()。

#include<stdio.h>
long fac(int n)
{
    long s=1;
    int i;
    if(n==0||n==1) s=1; /*0!1!的值都为1*/
    else for(i=2;i<=n;i++) s*=i; /*利用for语句实现累乘*/
    return s;
}
void main()
{
     int a,b;
     scanf("%d%d",&a,&b);
     if(b<a) printf("Input error!"); /*因为由键盘输入两个自然数a和b且a≤b,故b<a出错*/

     else printf("%ld\n",fac(b)/(fac(a)*fac(b-a))); /*调用函数long fac()*/

}