主题:快来瞧一瞧啊!
小精灵LS
[专家分:580] 发布于 2007-05-10 10:27:00
请大家把没加分的程序放到这里来!
[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个回复)
沙发
Matodied [专家分:7560] 发布于 2007-05-10 19:32:00
什么程序?
板凳
Matodied [专家分:7560] 发布于 2007-05-10 19:35:00
是不是你的进制的程序,这是可以带小数的:
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
我来回复