回 帖 发 新 帖 刷新版面

主题:是高手就来

输入一个n$,其中将会有几个科学记数法,请将科学记数法转换成普通数字.
如 adfjs44e+1jkajfla
则输出 adfjs440jkajfla
又如 adfjs44e-1jkajfla
则输出 adfjs4.4jkajfla

回复列表 (共11个回复)

沙发

用 DFA 来捕捉。

板凳

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 楼

hxy_anhui
你拭拭adfjs44000000000000e-10sad
结果sad呢

4 楼

DFA是什么

5 楼

DFA是什么?我和你平分,去书上找吧!!

6 楼

和我平分什么意思,还有DFA到底是何意思

7 楼

找找看看,就知道了吗!

8 楼

就是我和你得分一样多,但是现在不同了!!!!!比你高了,加油啊!!!!!!!!
[em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12]

9 楼

在书上找找吧!!DfA( ⊙ o ⊙ )啊!
[em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9]

10 楼

DFA是用来定义小函数的。

我来回复

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