主题:几道编程序题,高人帮帮忙啊,谢谢了
1、输入N个任意数,将其中重复的数删得只剩下一个。
INPUT “N=”; N
FOR I = 1 TO N
INPUT A(I)
NEXT I
______
DO
X = I + 1
DO
IF A(I) = A(X) THEN
FOR J =______
______
NEXT J
______
ELSE
X = X + 1
END IF
LOOP UNTIL X > N
_______
LOOP UNTIL I >= N
FOR I = 1 TO N
PRINT A(I);
NEXT I : END
2、键入N,表示行数(1<N<20),打印如下形式的三角形。
如:N=7
1
232
34543
4567654
567898765
67890109876
7890123210987
10 INPUT “N=”; N
20 FOR I = 1 TO N
30 PRINT TAB(20-I);
40 X = I
50 FOR J = 1 TO I
60 IF X > 9 THEN______
70 PRINT CHR$(X+48);
80 X = X + 1
90 NEXT
100 X =______:IF______ THEN 160
110 FOR J = 1 TO I - 1
120 IF______THEN X = X + 10
130 PRINT CHR$(X+48);
140 X = X – 1 : 150 NEXT J : 160______: 170 NEXT I
3、调用子程序,求以下四个数的最大公约数
FOR I = 1 TO 4
READ A(I)
NEXT
DATA 147, 210, 315, 735
FOR I = 1 TO____
_______
NEXT I
PRINT “GCD=______”;
END
10 DO
Q = A(I) \ A(I+1)
R =_______
IF R = 0 THEN RETURN
______: A(I+1) = R
LOOP
4、以下程序能完成下列三项功能:
1)读入20个大写英文单词,统计单词IS出现的次数T;
2)测试这20个英文单词的平均长度;
3)将这20个英文单词按字典顺序排列输出,并打印原来的序号
N = 0 : T = 0 : X$= “IS”
_______
FOR I = 1 TO 20
PRINT “<”; I; “>”;
INPUT A$(I)
B(I) = I
NEXT I
FOR I = 1 TO 20
N =______
IF______THEN T = T + 1 :
NEXT I
PRINT “单词IS出现的次数=”;T, “单词的平均长度=”; N/20
FOR I = 1 TO ______:FOR J = I + 1 TO 20
IF______THEN_______:______
NEXT J, I
FOR I = 1 TO 20
PRINT “[“;I;”]”; A$(I); “——>”; _______
NEXT I
END
5、有一些分子、分母都是两位数的真分数,且分子的个位数与分母的十位数字相同,若将该分数的分子(用变量M表示)的个位数字和分母(N)的十位数字同时划去,所得到的结果正好等于原分数约分后的结果。例如,16/64=1/4就是其中的一个。找出所有满足条件的真分数。
10 FOR I = 1 TO 9 :FOR J = 1 TO 9 :______
20 IF ______THEN 60
30 M = _______:N = ______
40 IF ______ THEN 60
50 IF ______THEN PRINT J*10+I; “/”; I*10+K
60 NEXT K, J, I : END
6、 【问题描述】从1,2,……,N这N个自然数中,任取R个数进行组合,(4≤N≤8,1≤R<N)然后列出全部组合。
例如:当N=5,R=3时,列出的全部组合如下:
1 2 3 1 2 4 1 2 5
1 3 4 1 3 5 1 4 5
2 3 4 2 3 5 2 4 5
3 4 5
S=10
【程序说明】对任给出的R和N,则
第一个组合为1,2,……,R
然后变化第R位;
第二个组合为1,2,……,R+1
继续变化第R位,可以变到N;然后再变化第R-1位,R-2位,……,直至第1位的变化。
用数组B(20)记录组合,S记录组合总数。
【程序清单】
CLS
DIM B(20)
INPUT N,R
①______
FOR I = 0 TO R
B(I)=I
NEXT I
DO WHILE ②______
S=S+1
FOR I = 1 TO R
PRINT B(I);“ ”;
NEXT I
J=R
DO WHILE ③______
J=J-1
LOOP
B(J)=B(J)+1
FOR I = J+1 TO R
B(I)=B(I-1)+1
NEXT I
LOOP
PRINT “S=”;S
END
7、 对50位同学的数学成绩按100、90-99、80-89、70-79、60-69、50-59、0-49进行分段统计(成绩随机产生)。
10 ________:FOR I = 1 TO 50
20 A(I) = INT(______) :NEXT I
30 FOR I = 1 TO 50 :A = _______
40 S(A) = S(A) + 1 :NEXT I
50 PRINT “100分:”;_______
60 FOR I = 9 TO______STEP_______
70 PRINT _______;S(I)
80 NEXT I :PRINT “0-49:”;_______
90 END
8、 下图中的九个数字分成三段,按顺时针方向组成一个两位数、一个三位数、一个四位数,且满足等式:两位数×三位数=四位数
10 A$ = “13857964213857964”
20 FOR I = 1 TO 9
30 B$ = MID$(A$,______)
40 C$ = MID$(A$, I+2, 3)
50 D$ = MID$( A$,______ )
60 B = VAL(B$) :C = VAL(C$) :D = VAL(D$)
70 IF _______THEN PRINT B; “*”; C; “=”; D
80 NEXT I
9、连队共有103人(含连长、副连长),连长要选派一人去完成一项艰巨的任务,许多人都在争此任务,副连长也想去,于是他给连长出了个主意,让全体指战员排成一列,由连长在队外进行1、2报数,凡报到单数者退出,余者再1、2报数,单数退出……直到剩下一人即被选中执行任务。聪明的副连长应站在哪个位置才能被选中?
10 DIM ______
15 J = J + 1 :P = P + 1
20 IF A(P)=1 THEN ______:GOTO 30
25 IF J MOD 2 <> 0 THEN A(P) = 1 :______
30 IF S = 101 THEN 50
35 IF P = 102 THEN _______ :J = 0
40 GOTO 15
50 FOR I = 1 TO 102 :IF ______THEN PRINT I,
60 NEXT I
10、将输入字串中的连续空格压缩为一个空格后送到另一个字串中输出。
10 INPUT “A$=”; A$ :B$=”” :N=______
20 FOR I = 1 TO N :FOR J = ______
30 IF ______ <> ” “ THEN 50
40 NEXT J
50 IF _______THEN B$ = B$ + “______“
60 B$=B$+______ :I= ______
70 NEXT I :PRINT “B$=”; B$ :END