定义一数组A,有20个元素,设元素首尾相接形成一个圈.求出相邻四个数之和(共20个),再找出哪四位数之和最大

沧海一粟1984 1年前 已收到1个回答 举报

gamma2130 幼苗

共回答了15个问题采纳率:93.3% 举报

for i:=1 to 20 do read(a[i]);
for i:=21 to 23 do a[i]:=a[i-20];
sum:=a[1];
for i:=2 to 4 do sum:=sum+a[i];
max:=sum; k:=4;
for i:=5 to 20 do
begin
sum:=sum+a[i]-a[i-4];
if sum>max then begin max:=sum; k:=i; end;
end;
write('Max=',max,'=',a[k-3]);
for i:=2 downto 0 do write('+',a[k-i]);
writeln;

1年前 追问

7

沧海一粟1984 举报

不懂 不可以运行

举报 gamma2130

这是PASCAL程序的主要代码,不是完整程序。你用PASCAL吗?

沧海一粟1984 举报

不是 的 , 求 vb编的啊

举报 gamma2130

Private Sub Command1_Click() Dim a(1 To 30) As Integer Dim i As Integer Dim k As Integer Dim sum As Integer Dim max As Integer Randomize Timer: Cls For i = 1 To 20 a(i) = Int(Rnd() * 20) Print a(i); Next i Print For i = 21 To 23 a(i) = a(i - 20): Next i sum = a(1) + a(2) + a(3) + a(4) max = sum: k = 4 For i = 5 To 23 sum = sum + a(i) - a(i - 4) If sum > max Then max = sum: k = i End If Next i Print "Max="; a(k - 3); For i = 2 To 0 Step -1 Print "+"; a(k - i); Next i Print "="; max Print "No.:"; For i = 3 To 0 Step -1 Print (k - i - 1) Mod 20 + 1; Next i Print: Print End Sub
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.015 s. - webmaster@yulucn.com