C阶乘表(1!-5!)使用For循环

时间:2015-09-21 22:53:21

标签: c for-loop factorial

这是我在这里发表的第一篇文章。我想问一下我正在为家庭作业做的问题。

我应该为"前5个阶乘"构建一个for循环。并将结果显示为表格。我按照书中的一个例子,然后设置了循环和操作,但我不知道如何在表格中生成循环。这是我的计划:

#include <stdio.h>

int main(void) {
    //Problem: Display a range for a table from n and n^2, for integers ranging from 1-10.

   int n, factorialnumber, i;

    printf("TABLE OF FACTORIALS\n");
    printf("n        n!\n");
    printf("---     -----\n");

   for (n = 1; n <= 10; n++) {
        factorialnumber = factorialnumber * n;

        printf("\n %i = %i", factorialnumber, n);
   }
    return 0;
}

我知道这里的printf是错的。我会输入什么? 顺便说一句,我正在使用代码块。

1 个答案:

答案 0 :(得分:2)

问题是你没有初始化变量(例如factorialnumber)。如果它的初始值为6984857,那么整个算法就会搞砸了。

试试这个:

#include <stdio.h>

int main(void) {
    //Problem: Display a range for a table from n and n^2, for integers ranging from 1-10.

    int i, factorialnumber = 1;
    int n = 10;  // Max number to go through

    printf("TABLE OF FACTORIALS\n");
    printf("i        i!\n");
    printf("---     -----\n");
    for (i = 1; i <= n; i++) {
        factorialnumber *= i;
        printf("%d!  =  %d\n", i, factorialnumber);
    }
    return 0;
}