VF程序题求S(n)=a+aa+aaa+...+aaa.aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如

1个回答

  • CLOSE ALL

    CLEAR ALL

    CLEAR

    cGetLenth_a = ""

    nMaxLenth_n = 09 &&& n 的最大数.

    *** 因 VFP 数字取值范围为:-2 147 483 647 到 2 147 483 646,即:

    *** 正整数最大只能是十个位,且若十个位时,第一个位的数字最大只能是:2.

    *** 还加上要累加计算,所以此最大值只能取九个位!

    cMaxLenth_n = ALLTRIM(STR(nMaxLenth_n))

    DO WHILE .T.

    INPUT "请输入a:" TO nGetLenth_a

    IF TYPE("nGetLenth_a") = "N"

    IF BETWEEN(nGetLenth_a,1,9)

    cGetLenth_a = ALLTRIM(STR(nGetLenth_a))

    EXIT

    ELSE

    MESSAGEBOX("数字已限定在 1-9 之间!",0 + 64,"")

    ENDIF

    ELSE

    MESSAGEBOX("输入的字符不是数字型的字符!",0 + 16,"Warning")

    ENDIF

    ENDDO

    DO WHILE .T.

    INPUT "请输入n:" TO nGetLenth_n

    IF TYPE("nGetLenth_n") = "N"

    cGetLenth_n = ALLTRIM(STR(nGetLenth_n))

    IF nGetLenth_n >= 1 AND nGetLenth_n