由数组a生成数字方阵,并求方阵中对角线上数值的和:
1)将数组a中的n个元素依次分割出若干个数据块,每个数据块有m×m个元素。
2)对每个分割出的数据块,按照数字方阵方式显示。
3)找出数字方阵中对角线上的数值,求出它们的和,若分割的数据块达不到m×m个元素,则忽略。
数字方阵过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,以3×3数据块为例,排列过程如下图所示:

找出对角线上的数值分别是:12,19,83和34,19,54,它们的和分别是114,107
小明依据上述描述设计了如下VB程序。请回答下列问题:
(1)当n=30时,如图所示,分割出每个数据块为2×2个元素,第二组数字方阵中的对角线和分别为 109 122109 122。

(2)请在横线处填入合适的代码。
Dim a(1To 30)As Integer
Private Sub Form_Load ( )
'随机生成30个不重复的正整数到a ii数组中。代码略
End Sub
Private Sub Command1_Click ( )
Dim t As Integer,i As Integer,m As Integer,j As Integer,x As Integer
Dim s As String,tt As String
Dim start As Integer'当前数字方阵的第1个元素下标
m=Val(Text1.Text)
t=30\m^2
If t=0Then
MsgBox“重新输入“
Else
List1.Clear
For i=1To t
start=1+(i-1)*(m*m)1+(i-1)*(m*m)
For j=1To m
For x=1To m
tt=tt+Str(a(start+(j-1)*m+x-1)Str(a(start+(j-1)*m+x-1)
Next x
List1.AddItem tt
tt=““
Next j
List1.AddItem““
s=sum1(start,m)
List2.AddItem“第“+Str(i)+“组的对角线分别是:“+s
Next i
End If
End Sub
Function sum1(begin As Integer,m As Integer) As String
Dim s1As Integer,s2As Integer
s1=a(begin)
For i=1To m-1
s1=s1+a(begin+i*(m+1))
Next i
s2=0
For i=1To m
s2=s2+a(begin+i*(m-1))
Next i
sum1=Str(s1)+Str(s2)Str(s1)+Str(s2)
End Function
【考点】编辑事件处理过程的代码.
【答案】109 122;i;1+(i-1)*(m*m);Str(a(start+(j-1)*m+x-1);Str(s1)+Str(s2)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:4引用:1难度:0.4
相似题
-
1.根据AQI值判断城市的空气质量。若城市的AQI值(整数)不超过100则空气质量优良,否则空气质量有污染。当输入的AQI值为-1时则退出程序。不要更改程序结构,将题中的①②③④填入正确的语句。
city=input(“请输入城市名:”)
AQI=int(input(“请输入空气质量指数AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空气质量优良。”)
③______:
print(city,“的空气质量有污染。”)
city=input(“请输入城市名:”)
AQI=④(input(“请输入空气质量指数AQI的值:”))
(1)序号①答案为
A.if
B.while
C.for
D.def
(2)序号②答案为
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序号③答案为
A.elif
B.break
C.if
D.else
(4)序号④答案为
A.int
B.float
C.str
D.else发布:2025/1/2 11:0:1组卷:0引用:0难度:0.4 -
2.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再下落。编写一个C程序,求它在第10次落地时,其经过了多少米?第10次反弹多高?
发布:2025/1/2 11:0:1组卷:1引用:3难度:0.3 -
3.利用海伦公式求解三角形面积。已知a,b,c为三角形的三条边长,p为三角形的半周长,即p=(a+b+c)/2,计算此三角形面积S的海伦公式为:
。不要更改程序结构,将题中的①②③填入正确的语句。
import math#导入数学模块
def hl(a,b,c):#定义求三角形面积的函数
p=①
s=math.jye.ai(②)#sqrt用于计算算术平方根
return ③#返回面积的值
a,b,c=3,4,5#边长依次赋值
print(“此三角形的面积S为:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序号②答案为
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序号③答案为
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0发布:2025/1/2 11:0:1组卷:0引用:0难度:0.4