VFP编程题:求出M行N列二维数组每列元素中的最小值,并计算它们的和值...

2024-11-08 18:40:14
推荐回答(4个)
回答(1):

dime a(m,n)
sum=0
i=1
do while i<=m
j=1
b=a(i,1) &&交第I行第1个数初始为最小值
do while j<=n
if a(i,j)t=a(i,j)
a(i,j)=b
b=t
endif
j=j+1
enddo
? b &&显示该列最小值
sum=sum+b &&将该最小值累加
i=i+1
enddo
?sum &&显示最小值
return

我也没有上机调试,基本思想就是这,你自己调试一下,应该能实现,祝好运!!!

回答(2):

根据楼上那个仁兄的代码我做了修改,也测试过了,是正确的。
clear
input "m=" to m
input "n=" to n
dime a(m,n)
for i=1 to m &&输入 m*n个元素
for j=1 to n
?"a"+"("+str(i,1)+","+str(j,1)+")="
input to a(i,j)
endfor
endfor
for i=1 to m &&输出 m*n个元素
for j=1 to n
??a(i,j)
endfor
?
endfor

sum=0

for i=1 to m
b=a(i,1) &&交第I行第1个数初始为最小值
for j=1 to n
if a(i,j) t=a(i,j)
a(i,j)=b
b=t
endif
endfor
? b &&显示最小值
sum=sum+b
endfor
? sum &&显示最小的值之和
return

回答(3):

设M行N列二维数组名为 MyArray ,即 MyArray(M,N)
则代码如下:
nSum = 0
For i=1 to N
=Asort(MyArray,i)
?"第" + Transform( i ) + "列中最小为:" + Transform( MyArray(1,i) )
nSum = nSum + MyArray(1,i)
Endfor
?"它们的和值为:" + Transform( nSum )

回答(4):

DIME(M,N)
FOR I=1 TO M
FORJ=1 TO N
INPUT TO A(M,N)
ENDFOR
?
ENDFOR
SUM=0
FOR I=1 TO M
C=A(I,1)
FORJ=2 TO N
IF A(I,J) T=A(I,J)
A(I,J)=C
C=T
ENDIF
ENDFOR
?"每列最小",C
SUM=SUM+C
ENDFOR
?"和值",SUM