m0_73481915 2023-04-17 16:09 采纳率: 0%
浏览 30

用户输入一个整数n,分别输出1!,2!,…,n!,其中每个数据占20列,并且每行只输出五个元素

用户输入一个整数n,分别输出1!,2!,…,n!,其中每个数据占20列,并且每行只输出五个元素

  • 写回答

3条回答 默认 最新

  • 心寒丶 优质创作者: 编程框架技术领域 2023-04-17 16:19
    关注

    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;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 请采纳用户回复 7月6日
  • 创建了问题 4月17日