回 帖 发 新 帖 刷新版面

主题:来就送分(2)

因一个主题每各人最多只能锝50分,所以,如果你发现你在"来就送分"帖子中有的尚未评分,请把帖子复制到这里来,继续加分!特此通知!

回复列表 (共23个回复)

11 楼

说好给份 

12 楼

CLS
INPUT a$, b$
a = LEN(a$): lb = LEN(b$)
da = INSTR(a$, "."): db = INSTR(b$, ".")
IF da = 0 THEN a1 = la ELSE a1 = da - 1: a2 = la - da
IF db = 0 THEN b1 = lb ELSE b1 = db - 1: b2 = lb - db
IF a1 > b1 THEN m1 = a1 ELSE m1 = b1
IF a2 > b2 THEN m2 = a2 ELSE m2 = b2
DIM a$(-m1 TO m2), b$(-m1 TO m2), c$(-m1 TO m2)
FOR i = -a1 TO a2: a$(i) = MID$(a$, a1 + i + 1, 1): NEXT i
FOR i = -b1 TO b2: b$(i) = MID$(b$, b1 + i + 1, 1): NEXT i
FOR i = m2 TO -m1 STEP -1
  IF i <> 0 THEN
    x = VAL(a$(i)) + VAL(b$(i)) + c
    IF x >= 10 THEN c = 1 ELSE c = 0
  END IF
  c$(i) = LTRIM$(STR$(x MOD 10))
NEXT i
PRINT SPC(m1 - a1 + 1); a$
PRINT "+"; SPC(m1 - b1); b$
PRINT STRING$(m1 + m2 + 3, "-")
IF c <> 0 THEN PRINT USING "#"; c;  ELSE PRINT " ";
FOR i = -m1 TO m2
  IF i = 0 THEN
    IF (a2 <> 0 OR b2 <> 0) THEN PRINT ".";
  ELSE 
    PRINT c$(i);
  END IF
NEXT i
END

13 楼

Private Sub form_load()
Dim sPath As String
 sPath = "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
 Open sPath For Random Lock Read As #1
End Sub

14 楼

如果你需要解释——
输入A$和B$
定义A数组(长为A$的长度),B数组(长为B$的长度)
先将A$ B$分离,分别存入A数组和B数组
将数组和B数组相加,如不需进位,就把数存在A(I)数组中,如需进位,将A(I)的十位存入A(I+1)数组(A(I+1)=A(I+1)+A(I)\10),A(I)的各位(A(I) MOD 10)依然存在A(I)里
输出

15 楼

CLS
INPUT A$
INPUT B$
PRINT A$; "*"; B$; "=";
LA = LEN(A$): LB = LEN(B$): LC = LA + LB
DIM A(LA), B(LB), C(LC)
FOR I = 1 TO LA: A(I) = VAL(MID$(A$, LA + 1 - I, 1)): NEXT I
FOR I = 1 TO LB: B(I) = VAL(MID$(B$, LB + 1 - I, 1)): NEXT I
FOR I = 1 TO LA: FOR J = 1 TO LB
X = A(I) * B(J): W = I + J - 1
C(W) = C(W) + X MOD 10
C(W + 1) = C(W + 1) + C(W) \ 10 + X \ 10
C(W) = C(W) MOD 10
NEXT J, I
WHILE C(LC) = 0 AND LC > 1: LC = LC - 1: WEND
FOR I = LC TO 1 STEP -1
PRINT USING "#"; C(I);
NEXT I
END

16 楼

阶乘
CLS
DIM a(100), b(100)
10 INPUT n
IF n > 50 THEN GOTO 10
a(1) = 1: m = 1
FOR i = 1 TO n
  FOR j = m TO 1 STEP -1
    a(j) = a(j) * i
    IF a(j) > 99 THEN
      a(j + 1) = a(j + 1) + a(j) \ 100
      a(j) = a(j) MOD 100
    END IF
  NEXT j
  IF a(m + 1) > 0 THEN m = m + 1
  FOR w = m TO 1 STEP -1
    b(w) = b(w) + a(w)
    IF b(w) > 99 THEN
      b(w + 1) = b(w + 1) + b(w) \ 100
      b(w) = b(w) MOD 100
    END IF
  NEXT w
NEXT i
x = m
FOR i = x TO 1 STEP -1
  IF b(x) > 99 THEN
    b(i + 1) = b(i) \ 100
    b(i) = b(i) MOD 100
    IF i = x THEN m = x + 1
  END IF
NEXT i
FOR i = m TO 1 STEP -1
  q$ = LTRIM$(STR$(b(i)))
  PRINT q$;
NEXT i
end

17 楼

这是除法中的一种
CLS
INPUT a,b,c
s$ = "0."
FOR i = 1 TO c
  x = a * 10 \ b
  a = a * 10 MOD b
  s$ = s$ + LTRIM$(STR$(x))
NEXT i
PRINT s$
END
A是被除数,B是除数,C是你要除到商的哪一位

18 楼

1  2  3  4
12 13 14 5
11 16 15 6
10 9  8  7
CLS
INPUT N
DIM A(N, N)
FOR I = 1 TO 4: READ X1(I), Y1(I), X2(I), Y2(I): NEXT I
DATA 1,0,1,-1,0,1,1,1,-1,0,-1,1,0,-1,0,0
Y = 1
FOR I = N - 1 TO 0 STEP -2
  IF I = 0 THEN A(X + 1, Y) = N * N: GOTO 10
  FOR J = 1 TO 4
    FOR K = 1 TO I
      X = X + X1(J): Y = Y + Y1(J)
      S = S + 1
      A(X, Y) = S
    NEXT K
    X = X + X2(J): Y = Y + Y2(J)
  NEXT J
NEXT I
10 FOR I = 1 TO N
  FOR J = 1 TO N
    PRINT USING "####"; A(I, J);
  NEXT J: PRINT
NEXT I
END

19 楼

[quote]再过两天就是市赛了,对于我来说,初赛没什么问题,可是复赛就有大问题了,我一定要打败:佑慧妹妹、美味的汽水!!!!!
(续:加、减、乘法的程序我已经发过了)
除法(如有循环节输出循环节,用黄色表示):
DEF fnd$ (a) = RTRIM$(LTRIM$(STR$(a)))
CLS
1 INPUT n, m
IF m = 0 THEN 1
PRINT fnd$(n); CHR$(246); fnd$(m); "=";
a = n \ m: PRINT fnd$(a);
IF n MOD m = 0 THEN END
PRINT ".";
DIM d(1000), q(1000)
q = n MOD m
DO
  i = i + 1: q = q * 10: d = q \ m: q = q MOD m: d(i) = d: q(i) = q
  IF q <> 0 THEN
     FOR j = 1 TO i - 1
         IF q(i) = q(j) AND d(i) = d(j) THEN EXIT FOR
     NEXT j
     IF j < i THEN
        FOR k = 1 TO j - 1
            PRINT fnd$(d(k));
        NEXT k
        COLOR 14
        FOR k = j TO i - 1
            PRINT fnd$(d(k));
        NEXT k
        COLOR 7: END
     END IF
  ELSE
     FOR j = 1 TO i
         PRINT fnd$(d(j));
     NEXT j
     END
  END IF
LOOP
END[/quote]
别太嚣张,^_^

20 楼

Matodied和&佑慧妹妹&一定就是合肥的了吧!
Matodied你的区复赛的最后一题是不是太简单了呀????

我来回复

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