主题:是高手就来
以吃为贵
[专家分:60] 发布于 2009-01-05 15:45:00
输入一个n$,其中将会有几个科学记数法,请将科学记数法转换成普通数字.
如 adfjs44e+1jkajfla
则输出 adfjs440jkajfla
又如 adfjs44e-1jkajfla
则输出 adfjs4.4jkajfla
回复列表 (共11个回复)
沙发
imjohnzj [专家分:1490] 发布于 2009-01-26 19:49:00
用 DFA 来捕捉。
板凳
hxy_anhui [专家分:320] 发布于 2009-01-29 15:06:00
CLS
INPUT N$
FOR I = 1 TO LEN(N$)
IF MID$(N$, I, 1) >= "0" AND MID$(N$, I, 1) <= "9" THEN
S = I
I = I + LEN(LTRIM$(STR$(X))) + 2 + LEN(LTRIM$(STR$(Y)))
X = 0
DO UNTIL MID$(N$, S, 1) < "0" OR MID$(N$, S, 1) > "9"
X = X * 10 + VAL(MID$(N$, S, 1))
S = S + 1
LOOP
ABC = LEN(LTRIM$(STR$(X)))
IF LCASE$(MID$(N$, S, 1)) = "e" THEN
S = S + 1
IF MID$(N$, S, 1) = "+" THEN
W = 0
Y = S + 1
DO UNTIL MID$(N$, Y, 1) < "0" OR MID$(N$, Y, 1) > "9"
W = W * 10 + VAL(MID$(N$, Y, 1))
Y = Y + 1
LOOP
FOR J = 1 TO W
X = X * 10
NEXT J
ELSEIF MID$(N$, S, 1) = "-" THEN
W = 0
Y = S + 1
DO UNTIL MID$(N$, Y, 1) < "0" OR MID$(N$, Y, 1) > "9"
W = W * 10 + VAL(MID$(N$, Y, 1))
Y = Y + 1
LOOP
FOR J = 1 TO W
X = X / 10
NEXT J
END IF
END IF
B$ = B$ + LTRIM$(STR$(X))
ELSE
B$ = B$ + MID$(N$, I, 1)
END IF
NEXT I
PRINT B$
END
合肥四年级一学生
3 楼
以吃为贵 [专家分:60] 发布于 2009-02-09 15:36:00
hxy_anhui
你拭拭adfjs44000000000000e-10sad
结果sad呢
4 楼
以吃为贵 [专家分:60] 发布于 2009-02-09 15:41:00
DFA是什么
5 楼
冰冻小企鹅 [专家分:190] 发布于 2009-02-26 13:30:00
DFA是什么?我和你平分,去书上找吧!!
6 楼
以吃为贵 [专家分:60] 发布于 2009-03-02 15:49:00
和我平分什么意思,还有DFA到底是何意思
7 楼
天天和和 [专家分:1420] 发布于 2009-03-05 23:00:00
找找看看,就知道了吗!
8 楼
冰冻小企鹅 [专家分:190] 发布于 2009-03-06 13:03:00
就是我和你得分一样多,但是现在不同了!!!!!比你高了,加油啊!!!!!!!!
[em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12]
9 楼
冰冻小企鹅 [专家分:190] 发布于 2009-03-06 13:05:00
在书上找找吧!!DfA( ⊙ o ⊙ )啊!
[em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9]
10 楼
gadenflm [专家分:150] 发布于 2009-03-30 20:29:00
DFA是用来定义小函数的。
我来回复