回 帖 发 新 帖 刷新版面

主题:快来瞧一瞧啊!

请大家把没加分的程序放到这里来!
[em1][em2][em3][em4][em5][em6][em7][em8][em9][em10][em11][em12][em13][em14]
[em15][em16][em17][em18][em19][em20][em26][em25][em31][em41][em76][em77][em78][em68][em79][em69][em80][em58][em67][em64][em63][em43][em45][em44][em46][em37][em39][em40][em30][em38][em35][em34][em33][em32][em31][em29][em21]

回复列表 (共2个回复)

沙发

什么程序?

板凳

是不是你的进制的程序,这是可以带小数的:
1 CLS
DIM t AS DOUBLE
INPUT n$, s
IF s < 2 OR s <> INT(s) OR s > 16 THEN 1
DATA 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
d = INSTR(n$, ".")
IF d = 0 THEN l = LEN(n$): GOTO 3
DIM b(LEN(n$) - d): l = d - 1
3 DIM a(l): n$ = UCASE$(n$)
FOR i = 1 TO l
    m$ = MID$(n$, i, 1)
    f = 0
    FOR j = 1 TO s
        READ k$
        IF k$ = m$ THEN f = 1: EXIT FOR
    NEXT j: RESTORE
    IF f = 0 THEN PRINT "ERROR": END
    IF ASC(k$) > 57 THEN a(i) = ASC(k$) - 55 ELSE a(i) = VAL(k$)
NEXT i
IF d = 0 THEN 4
x = 0
FOR i = d + 1 TO LEN(n$)
    x = x + 1
    m$ = MID$(n$, i, 1)
    f = 0: RESTORE
    FOR j = 1 TO s
        READ k$
        IF k$ = m$ THEN f = 1: EXIT FOR
    NEXT j
    IF f = 0 THEN PRINT "ERROR!": END
    IF ASC(k$) > 57 THEN b(x) = ASC(k$) - 55 ELSE b(x) = VAL(k$)
NEXT i
4 t = 0: r = 0
FOR i = l TO 1 STEP -1
    t = t + a(i) * s ^ r: r = r + 1
NEXT i
IF d = 0 THEN 5
r = -1
FOR i = 1 TO x
    t = t + b(i) * s ^ r: r = r - 1
NEXT i
5 INPUT p
IF p < 2 OR p <> INT(p) OR p > 16 THEN 5
zs = INT(t)
DO UNTIL zs = 0
   a$ = LTRIM$(STR$(zs - INT(zs / p) * p)) + a$
   zs = INT(zs / p)
LOOP
IF d = 0 THEN 6
xs = t - INT(t)
DO UNTIL xs = 0
   b$ = b$ + LTRIM$(STR$(INT(xs * p)))
   xs = xs * p
   xs = xs - INT(xs)
LOOP
6 PRINT "( "; n$; " )"; s; "= ( "; a$;
IF d <> 0 THEN PRINT " . "; b$;
PRINT " )"; p
END

我来回复

您尚未登录,请登录后再回复。点此登录或注册