合肥精英学校专升本计算机基础复习资料 第 21 页 徐奇观编
气泡法排序(升序)过程 5 4 3 2 1 第一轮:
5 4 3 2 1
4 5 3 2 1
3 5 4 2 1
2 5 4 3 1
1 5 4 3 2
第二轮:
1 4 5 3 2
1 3 5 4 2
1 2 5 4 3
第三轮:
1 2 4 5 3
1 2 3 5 4
第四轮:
1 2 3 4 5
合肥精英学校专升本计算机基础复习资料 第 22 页 徐奇观编
5 3 2 4 1
第一轮: 3 5 2 4 1 2 5 3 4 1 2 5 3 4 1 1 5 3 4 2 第二轮 1 3 5 4 2 1 3 5 4 2 1 2 5 4 3 第三轮 1 2 4 5 3 1 2 3 5 4
第四轮 1 2 3 4 5
40. 输入10个数,按升序排列输出。 DIMENSION A(10) FOR I=1 TO 10
INPUT \ENDFOR
FOR I=1 TO 9
FOR J=I+1 TO 10
IF A(I)>A(J)
TEMP=A(I) A(I)=A(J) A(J)=TEMP ENDIF ENDFOR ENDFOR
FOR I=1 TO 10
?A(I) ENDFOR
合肥精英学校专升本计算机基础复习资料 第 23 页 徐奇观编
用二维数组配合二重循环解决矩阵问题。
名词解释:方阵、主对角线元素、辅对角线元素、下三角元素、外围元素 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 外围元素
5 6 7 8 9 0
6 7 8 9 0 1
辅对角线 下三角元素 主对角线
I+J=7 FOR I=1 TO 6 I=J
FOR J=1 TO I
?1??4?7??10?258113???1234??6??×?5678? 9???9101112????12?
41. 建立一个六行六列的矩阵,求出两条对角线上所有元素之和。
2 4 6 8
3 2 1 5
7 1 3 2
4 2 7 5
辅对角线 主对角线
合肥精英学校专升本计算机基础复习资料 第 24 页 徐奇观编
DIMENSION A(6,6) FOR I=1 TO 6
FOR J=1 TO 6
A(I,J)=I+J ENDFOR ENDFOR
FOR I=1 TO 6
FOR J=1 TO 6
??SPACE(3) && 对于VFP来说,该句可以省略,因为输出一个整数占10列 ??A(I,J) ENDFOR ? ENDFOR SUM=0
FOR I=1 TO 6
FOR J=1 TO 6
IF I=J OR I+J=7
SUM=SUM+A(I,J) ENDIF ENDFOR ENDFOR ?SUM
42. 一个四行五列的矩阵,求出其中最大元素的值,以及所在的行号与列号。 DIMENSION A(4,5) FOR I=1 TO 4 FOR J=1 TO 5
INPUT TO A(I,J) ENDFOR ENDFOR BIG=A(1,1) ROW=1 COL=1
FOR I=1 TO 4 FOR J=1 TO 5 IF A(I,J)>BIG
BIG=A(I,J) ROW=I COL=J ENDIF ENDFOR ENDFOR
?BIG, ROW, COL
合肥精英学校专升本计算机基础复习资料 第 25 页 徐奇观编
43. 求两个矩阵之和,即C(3,4)=A(3,4)+B(3,4)
1 2 3 4 A矩阵 2 3 4 5 3 4 5 6
2 3 1 2 B矩阵 3 1 4 4 2 1 3 1
3 5 4 6 C矩阵 5 4 8 9 5 8 8 7
DIMENSION A(3,4),B(3,4),C(3,4) FOR I=1 TO 3 FOR J=1 TO 4
INPUT TO A(I,J) ENDFOR ENDFOR
FOR I=1 TO 3 FOR J=1 TO 4
INPUT TO B(I,J) ENDFOR ENDFOR
FOR I=1 TO 3 FOR J=1 TO 4
C(I,J)=A(I,J)+B(I,J) ENDFOR ENDFOR
FOR I=1 TO 3 FOR J=1 TO 4
??STR(C(I,J),7) ENDFOR ? ENDFOR
简化后程序改为:
DIMENSION A(3,4),B(3,4),C(3,4) FOR I=1 TO 3 FOR J=1 TO 4
INPUT TO A(I,J) INPUT TO B(I,J)
C(I,J)=A(I,J)+B(I,J) ENDFOR ENDFOR