欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    [PPT模板]第 5 章 程序控制结构.ppt

    • 资源ID:1996390       资源大小:372KB        全文页数:71页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [PPT模板]第 5 章 程序控制结构.ppt

    1,第 5 章 程序控制结构,顺序结构 分支结构 循环结构,2,第5章 程序控制结构,5.1 顺序结构,顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的语句序列,其程序执行流程是按顺序完成操作的。,3,第5章 程序控制结构,5.1 顺序结构,例5.1:创建一个窗体,用字符拼凑一个图形。,4,5.2 选择结构程序设计,本章要点: 条件语句 单行结构条件语句If.Then.Else . 块结构条件语句If.Then.EndIf 多分支选择语句Select Case.End Select,特点: 根据条件是否成立,决定程序的执行分支,5,5.2.1 单行结构条件语句,1. 格式 If Then Else 2. 功能 如果成立,则执行,否则执行,6,3. 说明 (1) 可以是: 关系表达式 布尔表达式 数值表达式:0为False;非0为True 字符串表达式: “0“为False;非“0“为True (2) 可以没有Else部分,这时必须有。,例: If X“aaa“ Then Print X,7,(3) 、: 可以有多条语句,各语句之间用冒号隔开。 例: If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A (4)应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号。 (5) 无论条件是否成立,都具有共同出口 例: If X = 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print “Y=“; Y 若 X=2 则打印 Y=-2 若 X=-2 则打印 Y=-6,共同出口,(6)单行结构条件语句可以嵌套 IF . THEN.IF . THEN .ELSE .ELSE,8,【例5-1】设界面如下图所示,用文本框输入x的值,单击“计算Y”按钮时,根据以下公式计算y的值。,Private Sub Command1_Click() X = Val(Text1.Text) If X = 0 Then Y = Abs(X) Else Y = Log(X) Label3.Caption = Y End Sub,9,例: 比较以下两段程序,是否都能够实现上例的功能。,程序段1: X = Val(Text1.Text) Y = Abs(X) If X 0 Then Y = Log(X) Label3.Caption = Y,程序段2: X = Val(Text1.Text) Y = Log(X) If X = 0 ThenY = Abs(X) Label3.Caption = Y,10,【例5-2】平面直角坐标系中,不同的象限内,点的坐标的符号有以下4种情况: 第一象限 X0,Y0 第二象限 X0 第三象限 X0,Y0 任意输入一对坐标值,找出它所在的象限。,Private Sub Command1_Click() X = Val(Text1.Text): Y = Val(Text2.Text) If X = 0 Or Y = 0 Then _ Print “不在任何象限内“: Exit Sub If X 0 Then If Y 0 Then Print “IN A“ Else _ Print “IN D“ Else If Y 0 Then Print “IN B“ _ Else Print “IN C“ End Sub,11,5.2.2 块结构条件语句,1.格式 If Then ElseIf Then ElseIf Then Else End If,If Then 语句组1 Else 语句组2 End If,注意: 格式书写、嵌套,12,块结构条件语句的功能:,13,【例5-3】输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。,C40时,打印“HOT “ 30C40时,打印“ WARM “ 20C30时,打印“ ROOM TEMPERATURE “ 10C20时,打印“ COOL “ 0C10时,打印“ COLD “ C0时,打印“ FREEZING“,14,Private Sub Command1_Click() C = 5 / 9 * (Val(Text1.Text) - 32) Text2.Text = Format(C, “0.00“) If C 40 Then Label2.Caption = “HOT“ ElseIf C 30 Then Label2.Caption = “WARM“ ElseIf C 20 Then Label2.Caption = “ROOM TEMPERATURE“ ElseIf C 10 Then Label2.Caption = “COOL“ ElseIf C 0 Then Label2.Caption = “COLD“ Else Label2.Caption = “FREEZING“ End If End Sub,15,注意: (1) ElseIf不能写成Else If,即中间不能有空格。 (2) 在书写时,可以将If语句、ElseIf子句、Else子句、和End If语句左对齐,而各语句组向右缩进若干空格,以使程序结构更清楚。 (3) 严格按格式要求书写,不可随意换行或将两行合并成一行。例如,对于条件结构: If x = 0 Then y = 1 Else y = 2 End If 以下两种写法都是错误的:,写法一: If x=0 Then y=1 Else y = 2 End If,写法二: If x = 1 Then y = 10 Else y = 20 End If,16,5.2.3 多分支选择语句,1. 格式 Select Case Case Case Case Else End Select 2. 功能: 根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语句之后继续执行。,17,多分支选择语句的功能流程图:,18,3. 说明 : 数值或字符表达式 Case 表达式表: 表中的表项为如下形式: (1) 表达式1,表达式2. 如: Case 1 , 3 , 5 (2) 表达式1 TO 表达式2 如: Case 10 TO 30 Case “A“ TO “Z“ (3) Is 如: Case Is = 10 Case Is = 0 与 Case 0 相同 注意: 测试表达式的类型应与Case后表达式类型一致,且三种形式可以混用,如: Case Is -5 , 0 , 5 To 100,19,Y=,ex+e-x x0,X = Val(Text1.Text) Select Case X Case Is 0 Y = Log(X) / Log(10) End Select Print “Y=“; Y,X = Val(Text1.Text) Select Case X Case X 0 Y = Log(X) / Log(10) End Select Print “Y=“; Y,【例5-4】按以下公式求分段函数y的值。,20,如果在条件成立或不成立的情况下要继续判断其他条件,则可以使用嵌套的条件语句来实现,也就是在语句组中再使用另一个条件语句。,5.2.4 条件语句的嵌套,块结构条件语句的嵌套示例: If A = 1 Then If B = 0 Then Print “*0*“ ElseIf B = 1 Then Print “*1*“ End If ElseIf A = 2 Then Print “*2*“ End If,21,多分支选择语句的嵌套示例: Select Case A Case 1 Select Case B Case 0 Print “*0*“ Case 1 Print “*1*“ End Select Case 2 Print “*2*“ End Select,22,多分支选择语句与块结构条件语句的互相嵌套示例: Select Case A Case 1 If B = 0 Then Print “*0*“ ElseIf B = 1 Then Print “*1*“ End If Case 2 Print “*2*“ End Select,23,1IIf函数 格式: IIf(, , ) 功能: 当的值为True时,返回第2个参数的值;当的值为False时,返回第3个参数的值。(类似于具有两个分支的If语句的功能) 例: 使用IIf函数求两个变量A和B的较大数。 MaxAB = IIf(A B, A, B) 例: 使用IIf函数求三个变量A、B和C的最大数。 MaxAB = IIf(A B, A, B) MaxABC = IIf(MaxAB C, MaxAB, C),5.3 条件函数,24,2Choose函数 格式: Choose(, ,.,) 功能: 当的值为1时,返回的值;当的值为2时,返回的值;。如果的值不是整数,则会先四舍五入为整数。 例: 将成绩1分、2分、3分、4分和5分转换成相应的等级: 不及格(1分,2分)、及格(3分),良(4分),优(5分)。 Grade = Choose(Score, “不及格“, “不及格“, “及格“, “良“, “优“),25,应用举例,【例】设计一个口令检测程序,界面如下图,当用户输入的口令正确时,显示“恭喜!您已成功进入本系统”,否则,显示,“口令错!请重新输入”。如果连续两次输入了错误口令,在第三次输入完口令后则显示一个消息框,提示“对不起,您不能使用本系统”,然后结束程序的执行。,26,Private Sub Text1_KeyUp(KeyCode As Integer, _ Shift As Integer) Static I As Integer ' 保存输入错误口令的次数 If KeyCode = 13 Then ' 如果按下的键为回车键 If UCase(Text1.Text) = “HELLO“ Then Label2.Caption = “恭喜!,您已成功进入本系统“ ElseIf I = 0 Or I = 1 Then I = I + 1 Label2.Caption = “口令错!,请重新输入“ Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Else MsgBox “对不起,您不能使用本系统“: End End If End If End Sub,27,【例5-6】求一元二次方程ax2+bx+c=0的解 。 分析: (1) 如果a=0,则不是二次方程,此时如果b=0,则提示重新输入系数;如果b 0,则: x=-c/b (2) 如果a 0,且b2-4ac=0,则有两个相等的实根 (3) 如果a 0,且b2-4ac0,则有两个不等的实根 (4) 如果a 0,且b2-4ac0,则有两个共轭复根,28,Private Sub Command1_Click() A = Val(Text1.Text): B = Val(Text2.Text) C = Val(Text3.Text): Cls CurrentX = 600: CurrentY = 1100 If A = 0 Then If B = 0 Then MsgBox “系数为零,请重新输入“ Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Else X = -C / B Print “X=“; Format(X, “0.000“) End If Exit Sub ' End If,29,Delta = B 2 - 4 * A * C Select Case Delta Case 0 Print “X1=X2=“; Format(-B / (2 * A), “0.000“) Case Is 0 X1 = (-B + Sqr(Delta) / (2 * A) X2 = (-B - Sqr(Delta) / (2 * A) Print “X1=“; Format(X1, “0.000“) CurrentX = 600: CurrentY = 1300 Print “X2=“; Format(X2, “0.000“) Case Is 0 A1 = -B / (2 * A) A2 = Sqr(Abs(Delta) / (2 * A),30,Print “X1=“; Format(A1, “0.000“); “+“; _ Format(A2, “0.000“); “i“ CurrentX = 600 CurrentY = 1300 Print “X2=“; Format(A1, “0.000“); “-“; _ Format(A2, “0.000“); “i“ End Select End Sub,31,【例】设计一个四则运算的自我练习应用程序,界面如下图所示。,32,要求: (1) 执行时,当在Text1中输入一种运算符后,在标签Label2中立即出现该运算符号。 (2) 单击“出题”按钮可以产生两个0,1000之间的随机整数,这时由Text2、Label2和Text3组成一个表达式。 (3) 可以通过单击“计算”按钮计算所生成的表达式的值。 (4) 也可以由用户在文本框Text4中输入运算结果通过单击“判断”按钮可以判断输入的运算结果是否正确,然后在Label4上显示“正确”或“错误”。 (5) 单击“退出”按钮结束运行。,33,(1) 在Text1中输入加、减、乘、除符号后,在Label2中立即出现相应的运算符号。 Private Sub Text1_Change() Label2.Caption = Text1.Text End Sub (2) 单击“出题”按钮Command1,生成两个0,1000之间的随机整数。 Private Sub Command1_Click() Randomize Text2.Text = Int(Rnd * 1001) Text3.Text = Int(Rnd * 1001) Text4.Text=“ End Sub,34,(3) 单击“计算”按钮Command2得出Text4的值。 Private Sub Command2_Click() If Label2.Caption = “+“ Then Text4.Text = Val(Text2.Text) + Val(Text3.Text) ElseIf Label2.Caption = “-“ Then Text4.Text = Val(Text2.Text) - Val(Text3.Text) ElseIf Label2.Caption = “*“ Then Text4.Text = Val(Text2.Text) * Val(Text3.Text) ElseIf Label2.Caption = “/“ Then Text4.Text = Val(Text2.Text) / Val(Text3.Text) Else MsgBox “运算类型错,请重输“, , “警告“ Text1.SetFocus: Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End If End Sub,35,(4) Text4的内容也可以由用户输入,通过单击“判断”按钮Command3判断输入结果是否正确。 Private Sub Command3_Click() Select Case Label2.Caption Case “+“ If Text4.Text=Val(Text3.Text)+Val(Text2.Text) Then Label4.Caption = “正确“ Else Label4.Caption = “错误“ End If,36,Case “-“ If Text4.Text=Val(Text2.Text)-Val(Text3.Text) Then Label4.Caption = “正确“ Else Label4.Caption = “错误“ End If Case “*“ If Text4.Text=Val(Text2.Text)*Val(Text3.Text) Then Label4.Caption = “正确“ Else Label4.Caption = “错误“ End If,37,Case “/“ If Text4.Text=Val(Text2.Text)/Val(Text3.Text) Then Label4.Caption = “正确“ Else Label4.Caption = “错误“ End If Case Else a=MsgBox(“运算类型错,请重输“, , “警告“) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Select End Sub 注: 因实数的不精确表示,除法判断条件应写成: Abs(Val(Text4.Text) - Val(Text2.Text) / Val(Text3.Text) 0.000001,38,5.4 循环结构程序设计*,要点: For.Next循环 While.Wend循环 Do.Loop循环,特点: 重复相同或相似的操作步骤 结构: 循环体要重复执行的语句序列。 循环控制部分规定循环的重复条件或重复次数,确定循环范围的语句,39,5.4.1 ForNext循环结构,1. 格式 For = To Step Exit For Next ,循环变量值超过终值?,执行循环体,后续语句,Yes,No,2. 功能: 执行过程如流程图所示,40,3. 说明 (1)循环变量数值变量 (2)初值,终值,步长数值表达式 (3)步长可正可负,但不能为0,为1时可以省略 步长0时,必须: 初值终值 步长= 终值 循环结束条件循环变量的值终值 (4)Exit For退出循环,常放在条件语句中 (5)Next之后的循环变量应与For语句中的循环变量一致,也可以省略,41,例: 判断以下程序段的执行结果: For i = 5 To 1 Step -1 Print i * i; Next i Print Print i,例: 判断以下程序段的执行结果: X = 6 For K = 1 To 10 Step -2 X = X + K Next K Print K,X,42,累加分析: 累加器(变量)初值 S=0 循环体(重复执行) S=S+I (I=1,2,N) Private Sub Command1_Click() Dim N As Integer, I As Integer, S As Integer N = Val(Text1.Text) S = 0 For I = 1 To N S = S + I Next I Label3.Caption = S End Sub,【例】求1+2+3+4+N,43,思考: 1. 求12+22+32+42+1002 2. 求13+33+53+n3 3. 求1-3+5-7+(-1)n+1(2n-1),4. 求,5. 求,44,【例】求 N!( N!=1×2×3××N) 累乘分析: 初始化: F=1 循环体: F=F × I (I=1,2,3N) 程序: Private Sub Command1_Click() Dim N As Integer, I As Integer, F As Long N = Val(Text1.Text) F = 1 For I = 1 To N F = F * I Next I Text2.Text = F End Sub,45,思考: 1. 求1×3 ×5 ×7(共N项)。,2. 求:,3. 求:,46,【例6-3】打印斐波那契(Fibonacci)数列的前20项 斐波那契数列如下: 0,1,1,2,3,5,8,13, 即从第三项起每一项是其前两项之和。 分析: Private Sub Form_Click() A = 0: B = 1 Text1.Text=Text1.Text & Str(A) & Str(B) & vbCrLf For I = 1 To 9 A = A + B B = A + B Text1.Text=Text1.Text & Str(A) & Str(B) & vbCrLf Next I End Sub,47,思考: 1. 在窗体上打印1、3、5、7、9、N。 2. 在窗体上显示1到500之间所有能被3整除的数,每行10个数。 3. 在带水平滚动条文本框中显示1到指定N之间所有能被3和7同时整除的数。 4. 在带垂直滚动条的文本框中显示003600之间的正弦和余弦值,每隔20求一组值。,48,5.4.2 While.Wend循环结构,问题: 求12+22+32+42+小于某数N的最大值,N由用户指定。 特点: 已知循环条件、未知循环次数, 用While.Wend循环结构实现较方便 1. 格式 While Wend 2. 功能,F,条件?,语句组,T,49,【例】使用While.Wend循环求12+22+32+大于某数N的最小值,N由用户指定。,分析: 是累加问题 初始化: S=0 I=0 N由Text1输入 循环条件: S=N 循环体: I=I+1 S=S+I2,50,“计算”按钮Command1的Click事件过程如下:,Private Sub Command1_Click() Dim I As Integer, N As Integer, S As Integer N = Val(Text1.Text) I = 0 : S = 0 While S = N I = I + 1 S = S + I * I Wend Label2.Caption = S End Sub,While.Wend循环可以使用Do.Loop循环来代替,但Do.Loop循环具有更多的形式。,思考: 求12+22+32+42+小于某数N的最大值,51,5.4.2 DoLoop循环结构,格式:,格式一: Do While Exit Do Loop,格式二: Do Until Exit Do Loop,功能:,52,格式:,格式三: Do Exit Do Loop While ,格式四: Do Exit Do Loop Until,T,F,功能:,T,F,53,说明: (1)Exit Do语句用于退出循环体 (2)也可以在Do语句和Loop语句之后都没有条件, 这时在循环体内必须有强行退出循环的语句即: Do Exit Do Loop (3)当型循环可能一次都不执行;而直到型循环至少要执行一次循环体。多数情况下,当型循环和直到型循环可互相代替。,54,【例6-5】求,直至最后一项的值10-4为止。 分析:用Sum表示累加和,初值: Sum=0 重复: Sum=Sum+Term 用N表示1,3,5,7,初值: N=1 重复: N=N+2 用Term表示每一项, 则Term=1/(N*N) 归纳: 初始化 N=1,Sum=0 重复 Term=1/(N*N) , Sum=Sum+Term ,N=N+2 循环终止条件 Term=0.0001,55,设单击窗体时开始计算,结果打印在窗体上。 Private Sub Form_Click() N = 1 : Sum = 0 Do Term = 1 / (N * N) Sum = Sum + Term N = N + 2 Loop Until Term = 0.0001 Form1.FontSize = 12 ' 设窗体的字体 CurrentY = 200 '设当前显示位置 Print “运算结果为:“; Sum Print “最后一项的值为:“; Term End Sub,56,【例6-6】已知某乡镇企业现有产值和年增长率,试问多少年后,该企业的产值可以翻一番。翻一番后实际产值是多少? 分析: P现有产值 R年增长率 Y年 V增长后的产值,初始值为P 累乘: V=P(1+R)(1+R) 退出循环条件 V=2P,57,设单击窗体时开始计算: Private Sub Form_Click() P = Val(Text1.Text) R = Val(Text2.Text) / 100 V = P:Y = 0 Do Until V = 2 * P Y = Y + 1 V = V * (1 + R) Loop Text3.Text = Y Text4.Text = Format(V, “0.00“) End Sub,58,【例】给出两个正整数M、N,求它们的最大公约数和最小公倍数。 分析: 求最大公约数的方法如下 (1) 以M作被除数,N作除数,求余数R。 (2) 如果R不为零,则将除数N做为新的被除数M,将余数R做为新的除数N,再进行相除,得到新的余数R。 (3) 如果R仍不等于0,则重复上述步骤(2)。如果R为零,则这时的除数N就是最大公约数。 最小公倍数为两个数的积除以它们的最大公约数。,59,设计界面如下图所示:,60,Dim A As Integer, B As Integer, N As Integer, _ M As Integer, R As Integer Private Sub Command1_Click() M = Val(Text1.Text):N = Val(Text2.Text) A = M:B = N R = M Mod N Do While R 0 M = N N = R R = M Mod N Loop Label3.Caption = N End Sub Private Sub Command2_Click() Label4.Caption = A * B / N End Sub,61,【例】给一个整数n(n=3),判断它是否是素数 分析: 将数N被2SQR(N)间全部整数除,如果都除不尽,则N是素数,否则N不是素数。 设标志变量Flag,只要有一个被整除,就置为1。,62,Private Sub Command1_Click() N = Val(Text1.Text) : K = Int(Sqr(N) : I = 2 Flag = 0 Do While I = K And Flag = 0 If N Mod I = 0 Then Flag = 1 Else I = I + 1 Loop If Flag = 0 Then Label1.Caption = “是素数“ Else Label1.Caption = “不是素数“ End If End Sub,63,5.4.3 循环的嵌套,在一个循环体内又完整地包含另一个循环,称为循环的嵌套(或多重循环),例: For I = 1 To 3 For J = 5 To 7 Print I, J Next J Next I 执行过程: ,例: For I = 1 To 3 For J = 1 To I For K = -1 To -2 S = S + I + J + K Next K Next J Next I 执行过程: ,64,说明 (1) 嵌套的循环可以是ForNext循环,也可以是 DoLoop循环 (2) 连续的NEXT语句可以合并成一个NEXT语句,循环变量按从内到外排列,For I=1 TO 3 For J=5 TO 7 Print I,J Next J,I,For I=1 TO 3 For J=5 TO 7 Print I,J Next J Next I,例:,(3) 内外循环不应交叉 例: For I=. For J=. . Next I Next J,65,(4) 嵌套循环应选用不同的循环变量 例: For I=. For J=. . Next J . For J=. . Next J Next I,66,【例6-9】求1+(1+2)+(1+2+3)+(1+2+3+n), n由用户输入。 分析: Private Sub Form_Click() N = Val(Text1.Text) Sum = 0 For I = 1 To N Sum1 = 0 For J = 1 To I Sum1 = Sum1 + J Next J Sum = Sum + Sum1 Next I Text2.Text = Sum End Sub,67,【例6-10】公鸡5个钱一只,母鸡三个钱一只、小鸡一个钱三只,要用100个钱买100只鸡,问公鸡、母鸡、和小鸡各买几只? 分析: Private Sub Form_Click() Dim I As Integer, J As Integer, K As Integer Print Tab(5); “公鸡“; Tab(15); “母鸡“; Tab(25); _ “小鸡“ For I = 0 To 20 For J = 0 To 33 For K = 0 To 100 Step 3 If I*5+J*3+K3=100 And I+J+K=100 Then Print Tab(5); I; Tab(15); J; Tab(25); K End If Next K, J, I End Sub,68,【例6-11】数字灯谜。有算式:,A、B、C、D为非负一位数字,要求找出满足以上算式的A、B、C、D。,69,Private Sub Form_Click() Dim A As Integer, B As Integer, C As Integer, _ D As Integer Dim S1 As Integer, S2 As Integer, S3 As Integer For A = 1 To 9 For B = 0 To 9 For C = 1 To 9 For D = 0 To 9 S1 = A * 1000 + B * 100 + C * 10 + D S2 = C * 100 + D * 10 + C S3 = A * 100 + B * 10 + C If S1 - S2 = S3 Then Print A; B; C; D End If Next D, C, B, A End Sub,70,小结,1. ForNext循环结构 For = To Step Exit For Next ,71,2. While.Wend循环结构 While Wend,Do While|Until Exit Do Loop,Do Exit Do Loop While|Until,3. DoLoop循环结构,

    注意事项

    本文([PPT模板]第 5 章 程序控制结构.ppt)为本站会员(音乐台)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开