2数组程序汇总.docx
- 文档编号:8635010
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:134.30KB
2数组程序汇总.docx
《2数组程序汇总.docx》由会员分享,可在线阅读,更多相关《2数组程序汇总.docx(13页珍藏版)》请在冰豆网上搜索。
2数组程序汇总
目录
1、将10个1到100的随机数存放在数组中,并输出。
2
2、打印输出Fibonacci数列的前20项,该数列定义为1,1,2,3,5,8,13,…..2
3、编写一个用来统计某班级英语成绩的程序。
3
4、冒泡排序(升序):
生成10个元素数组,按升序排序,分别输出排序前后所有元素。
4
5、比较排序(降序):
生成10个元素数组,按降序排序,分别输出排序前后所有元素。
4
6、交换排序(降序):
生成10个元素数组,按降序排序,分别输出排序前后所有元素。
5
7、打印输出以下图形。
6
8、计算输出以下公式的值,X、N的值为输入:
7
9、用户从键盘上输入股票30天的收盘价,程序计算并显示滑动平均价(每行显示五天滑动平均价)。
说明:
当天的滑动平均价为前五天收盘价的平均值,前四天的滑动平均价按当天收盘价计算。
8
10、定义动态数组,可根据用户需要确定数组元素个数,随机生成数组元素的值(100以内整数);再提示用户输入一个100以内整数,查找此数是否在这组元素中,显示结果以及生成的数组部元素。
9
11、定义一个长度为20的数组,随机生成10个100以内整数存于数组并按降序排列;再提示用户输入一个100以内整数,将此数插入排序后的数组中输出显示数组全部元素。
10
1、将10个1到100的随机数存放在数组中,并输出。
OptionBase1
PrivateSubForm_Click()
DimA(10)asinteger
Randomize
Fori=1To10
A(i)=Int(Rnd*100)
Next
Fori=1To10
PrintA(i)
Next
EndSub
2、打印输出Fibonacci数列的前20项,该数列定义为1,1,2,3,5,8,13,…..
【分析】Fabonacci数列的特点是:
1n=1
Fib(n)1n=2
fib(n-2)+fib(n-1)n>=3
【设计】定义一个数组FAB(1TO20)
赋初值:
fib
(1)=1:
fib
(2)=1
计算Fib(n)=fib(n-2)+fib(n-1)(3<=n<=20)
输出Fib(n)(1<=n<=20)
PrivateSubForm_Click()
DimiAsInteger,fib(1To20)AsInteger
fib
(1)=1:
fib
(2)=1
Fori=3To20
fib(i)=fib(i-1)+fib(i-2)
Next
Fori=1To20
Printfib(i),
IfiMod4=0ThenPrint'打印换行
Next
EndSub
3、编写一个用来统计某班级英语成绩的程序。
解题思路:
在通用模块中使用Optionbase1
(0)定义数组DIMS[45]存放学生成绩
定义数组DIMb[5]存放分数段的个数
定义变量Sum存放全班成绩之和
(1)使用循环FOR循环输入学生成绩(固定循环次数):
fori=1to45
利用InputBox()函数输入学生成绩S[i]
Select语句判断S[i]的范围,
例如:
S[i]>90B[1]=B[1]+1
90>S[i]>80B[2]=B[2]+1
…..
OptionBase1
Dima(45),b(5)
PrivateSubForm_Click()
Randomize
Fori=1To10
a(i)=Int(Rnd*100)'a(i)=InputBox("输入成绩")
Printa(i);
SelectCasea(i)
CaseIs>=90
b
(1)=b
(1)+1
CaseIs>=80
b
(2)=b
(2)+1
CaseIs>=70
b(3)=b(3)+1
CaseIs>=60
b(4)=b(4)+1
CaseElse
b(5)=b(5)+1
EndSelect
Next
Print"优秀的有",b
(1):
Print"优良的有",b
(2)
Print"中等的有",b(3):
Print"及格的有",b(4)
Print"不及格的有",b(5)
EndSub
4、冒泡排序(升序):
生成10个元素数组,按升序排序,分别输出排序前后所有元素。
PrivateSubCommand1_Click()
Dimx(1To10)
n=10
Randomize
Fori=1To10
x(i)=Int(Rnd*100+1)
Label1.Caption=Label1.Caption+Str(x(i))
Next
Fori=1Ton-1
Forj=iTo1Step-1
Ifx(j+1) temp=x(j) x(j)=x(j+1) x(j+1)=temp EndIf Nextj Nexti Fori=1Ton Label2.Caption=Label2.Caption+Str(x(i)) Nexti EndSub 5、比较排序(降序): 生成10个元素数组,按降序排序,分别输出排序前后所有元素。 PrivateSubCommand1_Click() Dimx(1To10) n=10 Randomize Fori=1To10 x(i)=Int(Rnd*100+1) Label1.Caption=Label1.Caption+Str(x(i)) Next Fori=1Ton-1 Forj=i+1Ton Ifx(i) temp=x(i): x(i)=x(j): x(j)=temp EndIf Nextj Nexti Fori=1Ton Label2.Caption=Label2.Caption+Str(x(i)) Nexti EndSub 6、交换排序(降序): 生成10个元素数组,按降序排序,分别输出排序前后所有元素。 PrivateSubCommand1_Click() Dimx(1To10) n=10 Randomize Fori=1To10 x(i)=Int(Rnd*100+1) Label1.Caption=Label1.Caption+Str(x(i)) Next Fori=1Ton-1 k=i Forj=i+1Ton Ifx(k) k=j EndIf Nextj Ifk<>iThen temp=x(i): x(i)=x(k): x(k)=temp EndIf Nexti Fori=1Ton Label2.Caption=Label2.Caption+Str(x(i)) Nexti EndSub 7、打印输出以下图形。 PrivateSubCommand1_Click() Cls Fori=5To1Step-1 PrintSpc(2*(5-i)); Forj=1To2*i-1 Print"*"; Nextj Print Nexti EndSub PrivateSubCommand2_Click() Cls Fori=1To4 PrintSpc(2*(5-i)); Forj=1To2*i-1 Print"*"; Nextj Print Nexti Fori=5To1Step-1 PrintSpc(2*(5-i)); Forj=1To2*i-1 Print"*"; Nextj Print Nexti EndSub PrivateSubCommand1_Click() DimIAsInteger,SAsString,NAsInteger S="13579" ForI=1ToLen(S) N=Val(Mid(S,I,1)) Me.PrintString(6-Int(N/2+1),"")&String(N,"*") NextI EndSub PrivateSubCommand2_Click() DimIAsInteger,SAsString,NAsInteger S="135797531" ForI=1ToLen(S) N=Val(Mid(S,I,1)) Me.PrintString(6-Int(N/2+1),"")&String(N,"*") NextI EndSub 8、计算输出以下公式的值,X、N的值为输入: 1+X/2! +X2/4! +X3/6! +…+XN/2N! PrivateSubCommand1_Click() DimiAsInteger,nAsInteger DimsAsDouble,xAsDouble x=Val(InputBox("x=")) n=Val(InputBox("n=")) s=1 Fori=1Ton m=1 Forj=2To2*i m=m*j Nextj s=s+x^i/m Nexti Print"1+X/2! +X2/4! +X3/6! +…+XN/2N! =";s EndSub PrivateSubForm_Click() DimiAsInteger,nAsInteger,m2AsLong DimsAsDouble,xAsDouble,m1AsDouble x=Val(InputBox("x=")) n=Val(InputBox("n=")) s=1 m1=1 m2=1 Fori=2To2*nStep2 m1=m1*x m2=m2*(i-1)*i s=s+m1/m2 Nexti Print"1+X/2! +X2/4! +X3/6! +…+XN/2N! =",s EndSub 9、用户从键盘上输入股票30天的收盘价,程序计算并显示滑动平均价(每行显示五天滑动平均价)。 说明: 当天的滑动平均价为前五天收盘价的平均值,前四天的滑动平均价按当天收盘价计算。 PrivateSubForm_Click() Dima(1To30) Dimb(1To30) Fori=1To30 a(i)=int(rnd*1000) ‘a(i)=Val(InputBox("请输入第"&i&"天的收盘价")) Next Fori=1To4 b(i)=a(i) Next Fori=5To30 b(i)=(a(i)+a(i-1)+a(i-2)+a(i-3)+a(i-4))/5 Next Fori=1To30 PrintLeft(Str(b(i))+Space(5),7); IfiMod5=0Then Print EndIf Next EndSub 10、定义动态数组,可根据用户需要确定数组元素个数,随机生成数组元素的值(100以内整数);再提示用户输入一个100以内整数,查找此数是否在这组元素中,显示结果以及生成的数组部元素。 PrivateSubCommand1_Click() DimchAsString Dims()AsInteger n=Val(Text1.Text) ReDims(n+1) Randomize ch="" Fori=1Ton s(i)=Int(Rnd*100+1) ch=ch+Str(s(i)) Next x=Val(Text2.Text) Fori=1Ton Ifx=s(i)Then ExitFor EndIf Nexti Label1.Caption=ch Ifx<=nThen Label2.Caption="输入的数"+Str(x)+"在数组元素中! " Else Label2.Caption="输入的数"+Str(x)+"不在数组元素中! " EndIf EndSub 11、定义一个长度为20的数组,随机生成10个100以内整数存于数组并按降序排列;再提示用户输入一个100以内整数,将此数插入排序后的数组中输出显示数组全部元素。 Dimx(1To20)AsInteger PublicnAsInteger PrivateSubCommand1_Click() n=10 Label1.Caption="" Label2.Caption="" Randomize Fori=1To10 x(i)=Int(Rnd*100+1) Label1.Caption=Label1.Caption+Str(x(i)) Next Fori=1Ton-1 k=i Forj=i+1Ton Ifx(k) k=j EndIf Nextj Ifk<>iThen temp=x(i) x(i)=x(k) x(k)=temp EndIf Nexti Fori=1Ton Label2.Caption=Label2.Caption+Str(x(i)) Nexti EndSub PrivateSubCommand2_Click() Label7.Caption="" num=Val(Text1.Text) Fori=1Ton Ifnum>x(i)Then k=i ExitFor EndIf Nexti Printk Ifi<=nThen Fori=nTokStep-1 x(i+1)=x(i) Nexti Else k=n+1 EndIf x(k)=num n=n+1 Fori=1Ton Label7.Caption=Label7.Caption+Str(x(i)) Nexti EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 程序 汇总