首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用QBasic计算因子

用QBasic计算因子
EN

Stack Overflow用户
提问于 2019-05-07 23:33:49
回答 4查看 722关注 0票数 1

我正在编写一个程序,它计算5个数字的阶乘,并以表格的形式输出结果,但我一直得到、零点、

因子公式:.n!= n×(n-1)!

我试过:

代码语言:javascript
复制
CLS
DIM arr(5) AS INTEGER

FOR x = 1 TO 5
    INPUT "Enter Factors: ", n
NEXT x

f = 1
FOR i = 1 TO arr(n)
    f = f * i
NEXT i

PRINT
PRINT "The factorial of input numbers are:";
PRINT

FOR x = 1 TO n
    PRINT f(x)
NEXT x
END

我期待着:

代码语言:javascript
复制
Numbers    Factorrials
5          120
3          6
6          720
8          40320
4          24
EN

回答 4

Stack Overflow用户

发布于 2019-05-08 06:59:08

你犯了一些错误

代码语言:javascript
复制
FOR i = 1 TO arr(n)

您也从未将实际值存储到arr中。

代码语言:javascript
复制
PRINT f(x)

在这里,您从数组f中获取代码中也没有定义的

票数 1
EN

Stack Overflow用户

发布于 2019-05-08 14:12:38

我面前没有基本的翻译,但我想这就是你要找的:

代码语言:javascript
复制
CLS
DIM arr(5) AS INTEGER
DIM ans(5) AS LONG        'You need a separate array to store results in. 

FOR x = 1 TO 5
    INPUT "Enter Factors: ", arr(x)
NEXT x

FOR x = 1 to 5
    f& = 1
    FOR i = 1 TO arr(x)
        f& = f& * i
    NEXT i
    ans(x) = f&
NEXT x

PRINT
PRINT "The factorial of input numbers are:";
PRINT

PRINT "Numbers", "Factorials"
FOR x = 1 TO 5
    PRINT STR$(arr(x)), ans(x)
NEXT x
END

不过,请注意:在编程中,除非内存不足,否则应该避免重用变量。它可以正确地完成,但是它为在更大的程序中很难找到bug创造了很多机会。

票数 1
EN

Stack Overflow用户

发布于 2019-05-09 02:58:18

计算阶乘数组的可能解决方案:

代码语言:javascript
复制
CLS
DIM arr(5) AS INTEGER
DIM ans(5) AS LONG

FOR x = 1 TO 5
    INPUT "Enter Factors: ", arr(x)
    f& = 1
    FOR i = 1 TO arr(x)
        f& = f& * i
    NEXT i
    ans(x) = f&
NEXT x

PRINT
PRINT "The factorial of input numbers are:";
PRINT

PRINT "Numbers", "Factorials"
FOR x = 1 TO 5
    PRINT arr(x), ans(x)
NEXT x
END
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56031688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档