用户输入一个整数n,分别输出1!,2!,…,n!,其中每个数据占20列,并且每行只输出五个元素
3条回答 默认 最新
关注n没有范围么,先用int,不够的话换long吧
#include <stdio.h> int factorial(int n) { if (n <= 1) { return 1; } else { return n * factorial(n - 1); } } int main() { int n; printf("请输入 n:"); scanf("%d", &n); printf("各阶乘如下所示:\n"); for (int i = 1; i <= n; i++) { int f = factorial(i); if ((i - 1) % 5 == 0) { printf("\n"); } printf("%d!=%-*d", i,20, f); } printf("\n"); return 0; }解决 无用评论 打赏 举报 编辑记录