回 帖 发 新 帖 刷新版面

主题:数的拆分

数的拆分
键盘输入N,把N各个位上的数拆下来。
如:数123 
输出 1  2   3

回复列表 (共25个回复)

沙发

INPUT A
L=0
DO WHILE A<>0
 L=L+1
 A(L)=A MOD 10
 A=A\10
LOOP
FOR I=L TO 1 STEP -1
 ?A(I);
NEXT
END

板凳

INPUT N
L=LEN(N$)
DIM A(L)
FOR I=1 TO L
 S$=MID$(N$,I,1)
 IF X$>="0" AND X$<="9" THEN
  A(I)=VAL(X$)
 ELSE
  ?"ERROR!":END
 END IF
NEXT
FOR I=1 TO L
 ?A(I);
NEXT
END

3 楼

DIM A(100)
L=0
DO
 INPUT  "一位一位输入,输入负数结束”;A
 IF A<0 THNE EXIT DO
 IF A>0 AND A<=9 AND A =INT(A) THEN
  L=L+1
  A(L)=A
 ELSE
  ?"ERROR!":END
 END IF
LOOP
FOR I=1 TO L
 ?A(I);
NEXT
END

4 楼

这是3种方法!

5 楼

谢谢,你确定是对的吗?

6 楼

yes

7 楼

书上的程序!!

8 楼

简单不?
CLS
INPUT "n = ", n$
FOR i = 1 TO LEN(n$)
  x$ = MID$(n$, i, 1)
  IF x$ <> "-" THEN
    PRINT VAL(x$);
  END IF
NEXT i
END

9 楼

[quote]DIM A(100)
L=0
DO
 INPUT  "一位一位输入,输入负数结束”;A
 IF A<0 THNE EXIT DO
 IF A>0 AND A<=9 AND A =INT(A) THEN
  L=L+1
  A(L)=A
 ELSE
  ?"ERROR!":END
 END IF
LOOP
FOR I=1 TO L
 ?A(I);
NEXT
END
[/quote]
如果我输入
90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000程序就卡了

10 楼

[quote]INPUT N
L=LEN(N$)
DIM A(L)
FOR I=1 TO L
 S$=MID$(N$,I,1)
 IF X$>="0" AND X$<="9" THEN
  A(I)=VAL(X$)
 ELSE
  ?"ERROR!":END
 END IF
NEXT
FOR I=1 TO L
 ?A(I);
NEXT
END

[/quote]
这个根本不对
运行后没有显示

我来回复

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