3.求阶乘。在主程序中通过键盘输入一个正整数n,调用自定义函数int fact(int x)计算n!并在主程序中输出结果。试编写相应程序。

fact函数怎么调用啊,有答主可以发出完整的程序吗?
计算阶乘的时候如何调用啊?

#include <stdio.h>
#include <stdlib.h>

int fact(int x) {
    int i, q = 1;

    for (i = 1; i <= x; i++) {
        q = q * i;
        printf("%d\n", q);
    }

    return q;
}

int main() {
    int n;
    printf("input n:");
    scanf("%d", &n);
    fact(n);
}

运行结果:

img

#include <assert.h>
#include <stdio.h>

int fact(int x) {
  assert(x >= 0);
  if (x == 0)
    return 1;
  int r = 1;
  for (int i = 2; i <= x; i++)
    r *= i;
  return r;
}

int main() {
  int n;
  scanf("%d", &n);
  printf("%d\n", fact(n));
  return 0;
}