回 帖 发 新 帖 刷新版面

主题:来者有分!!

将键盘输入的字符串中所有的十进制数找出来,并求出它们的和。
例如:输入:A$="APPLE 25 PEAR 125"  输出:25+125=150
输入:A$="THIS IS A BOOK"     输出:0

回复列表 (共11个回复)

沙发

CLS
INPUT A$: L = LEN(A$): DIM A$(L)
FOR I = 1 TO L: A$(I) = MID$(A$, I, 1): NEXT I
FOR I = 1 TO L: B$ = ""
IF A$(I) < "0" OR A$(I) > "9" THEN 1
Q = Q + 1
FOR J = I TO L
IF A$(J) < "0" OR A$(J) > "9" THEN EXIT FOR
B$ = B$ + A$(J)
NEXT J
M$ = M$ + B$ + "+": I = J: S = S + VAL(B$)
1 NEXT I
IF Q = 0 AND S = 0 THEN PRINT 0: END
PRINT LEFT$(M$, LEN(M$) - 1); "="; S
END

板凳

CLS
INPUT A$: L = LEN(A$)
DIM A$(L)
FOR I = 1 TO L: A$(I) = MID$(A$, I, 1): NEXT I
FOR I = 1 TO L: B$ = ""
IF A$(I) < "0" OR A$(I) > "9" THEN 10
S = S + 1
FOR J = I TO L
IF A$(J) < "0" OR A$(J) > "9" THEN EXIT FOR
B$ = B$ + A$(J)
NEXT J
M$ = M$ + B$ + "+": I = J: SUM = SUM + VAL(B$)
10 NEXT I
IF S = 0 AND SUM = 0 THEN PRINT 0: END
PRINT LEFT$(M$, LEN(M$) - 1); "="; SUM
END

3 楼

CLS
INPUT N$: N$ = N$ + " "
FOR I = 1 TO LEN(N$): A$ = MID$(N$, I, 1)
IF A$ >= "0" AND A$ <= "9" THEN
FOR J = I + 1 TO LEN(N$): B$ = MID$(N$, J, 1)
IF B$ >= "0" AND B$ <= "9" THEN A$ = A$ + B$ ELSE X = X + 1: A$(X) = A$: A = A + VAL(A$): I = I + LEN(A$): GOTO 10
NEXT J
END IF
10 NEXT I    
IF A = 0 AND X = 0 THEN PRINT 0: END
FOR I = 1 TO X: PRINT A$(I);
IF I = X THEN PRINT "="; A ELSE PRINT "+";
NEXT I
END

4 楼

CLS
INPUT N$: N$ = N$ + " "
L = LEN(N$):DIM S$(L)
FOR I = 1 TO L:A$ = MID$(N$, I, 1)
IF A$>="0" AND A$ <="9" THEN
B$ = B$ + A$
ELSE
IF B$ <> "" THEN K = K + 1: S$(K) = B$:S=S+VAL(B$):B$ = ""
END IF
NEXT I
FOR I = 1 TO K
IF I < K THEN PRINT S$(I); "+";  ELSE PRINT S$(I); "=";S
NEXT I
PRINT S
END

5 楼



[img]http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%CB%BC%D1%E0&in=29824&cl=2&cm=1&sc=0&lm=-1&pn=1&rn=1&di=1923469928&ln=2000[/img]

6 楼

顶上面的[url=http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%CB%BC%D1%E0&in=29824&cl=2&cm=1&sc=0&lm=-1&pn=1&rn=1&di=1923469928&ln=2000]http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%CB%BC%D1%E0&in=29824&cl=2&cm=1&sc=0&lm=-1&pn=1&rn=1&di=1923469928&ln=2000[/url]

7 楼

又是自己给自己加分!太不道德了!感慨一下吧!

8 楼

CLS
INPUT N$: N$ = N$ + " "
L = LEN(N$):DIM S$(L)
FOR I = 1 TO L:A$ = MID$(N$, I, 1)
IF A$>="0" AND A$ <="9" THEN
B$ = B$ + A$
ELSE
IF B$ <> "" THEN K = K + 1: S$(K) = B$:S=S+VAL(B$):B$ = ""
END IF
NEXT I
FOR I = 1 TO K
IF I < K THEN PRINT S$(I); "+";  ELSE PRINT S$(I); "=";S
NEXT I
PRINT S
END

9 楼

Lovely哆啦别胡说八道了!

10 楼

CLS
INPUT N$: L = LEN(N$): DIM N$(L)
FOR I = 1 TO L: N$(I) = MID$(N$, I, 1): NEXT I
FOR I = 1 TO L: B$ = ""
IF N$(I) < "0" OR N$(I) > "9" THEN 1
N = N + 1
FOR J = I TO L
IF N$(J) < "0" OR N$(J) > "9" THEN EXIT FOR
B$ = B$ + N$(J)
NEXT J
M$ = M$ + B$ + "+": I = J: S = S + VAL(B$)
1 NEXT I
IF N = 0 AND S = 0 THEN PRINT 0: END
PRINT LEFT$(M$, LEN(M$) - 1); "="; S
END

我来回复

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