QB字符串处理的技术与技巧_第1页
QB字符串处理的技术与技巧_第2页
QB字符串处理的技术与技巧_第3页
QB字符串处理的技术与技巧_第4页
QB字符串处理的技术与技巧_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三讲 QB字符串处理的技术与技巧学习重点:1、 字符串的基本概念复习2、 字符串常用函数的作用3、 字符串的基本操作学习过程:江苏省小学的程序设计竞赛从96年开始举行,到2006年已经走过去11个春秋了,这11年里共有44道编程题出现,其中直接以字符串为主要知识点的就有98年的第2题,01年的第2题,02年的第2题,04年的第2题,06年的第2题。其它或多或少用到字符串基本知识的更是多得很。从这个意义上说,字符串在程序设计中是相当重要的。本讲,我们就一起来讨论与字符串相关的一些问题。注:本讲义中把由南京大学出版社出版的青少年信息学奥林匹克培训教材(小学)一书称为教材。第一部分 有关字符串的基

2、本概念一、字符串常量与变量1、字符串常量字符串常量的概念,在开始学习QB的常量和变量时就接触到了。我们把用引号括起来的一串字符叫字符串,也叫字符串常量。需要注意的是双引号本身不是字符串的内容,只是一个界定符。它可以包括:大小写英文字母、数字、专用字符和控制字符以及空格。如果一个字符串不包含任何字符,称为空串,表示成“”,而“ ”却是一个空格串,显然两者是不一样的,要注意区分。2、字符串变量字符串变量是QB语言中的三大变量类型(实型、整型、字符型)之一。其命名规则和实型变量相同,在变量名后必须加上“$“号。字符串变量也有数组形式,包括一维数组,二维数组,多维数组等。字符串数组由一系列字符组成。字

3、符串变量在程序执行过程中是可以改变的。但是要注意的是字符串变量的存储空间也是可变的,它根据所赋的字符串长度不等而改变大小,这和数值型变量固定的存储空间是不一样的。需要注意的是,在一个程序中,整型,实型,字符型变量的名字可以一样,如A、A%和A$,虽然都用字母A来表示,但是它们是代表不同类型的变量,不能混淆。简单变量和数组变量的名字也是可以一样,如A$和A$(10),但不同维数的数组要用不同的名字。另外,QB还规定,在没有赋值前,字符串变量为空串。二、字符串的特点1、有长度,在QB中一个字符串常量最多可容纳32767个字符。其中要注意的是一个汉字占两个字符的宽度。2、字符串的大小,可以进行比较。

4、3、字符有序,如“ABCD”和“DCBA”是不一样的,4、字符串常量中不能包含双引号。三、字符串输入输出的一些注意事项1、LET赋值语句赋值号(=)右边出现的字符串常量必须带引号。2、READ/DATA语句DATA语句中的常量原则上加引号,也可以没有引号,分隔符为逗号或行结束符,没有加引号时,要特别小心首尾两个数据中的附加空格。如果逗号放在引号内,则不作做分隔符,而作为一个字符。引号不能作为字符常量。两个分隔符之间没有字符,则作为空串处理。例3-1、请写出下列程序的输出结果。READ A$, B$, C$, D$, E$, F$, G$, H$, I$DATA THIS IS A PENDAT

5、A 15,1984.1.25DATA "15,1984.1.25",DATA ," ",B,"B"PRINT A$, B$, C$, D$, E$, F$, G$, H$, I$输出结果为THIS IS A PEN 15 1984.1.25 15,1984.1.25空格 B B3、INPUT语句字符串输入格式与DATAY语句中的格式完全相同,如果直接按回车键,接收的字符串为空串。4、PRINT语句字符串输出结果一律不带引号,用分号作分隔符时,两字符之间不留空格。例3-2、请写出下列程序的输出结果。PRINT "I"

6、"AM""A""BOY"输出:IAMABOY四、字符串运算之一 连接连接运算用“+”号表示。所谓连接,就是用字符串运算符(“+”)把几个字符串(常量、变量、函数)按照从左向右的顺序连结起来,组成新的字符串,但要注意中间不留空格。例如:“I”+“am”+“a”+“boy”“Iamaboy”字符串的连接不具有交换律,在迭代赋值中A$=A+B与A$= B+A的结果是不一样的。例3-3、请写出下列程序的输出结果A = 123: B = 456: A$ = "123": B$ = "456"PRINT &

7、quot;A+B=" A; "+" B; "=" A + BPRINT "A$+B$=" A$; "+" B$; "=" A$ + B$PRINT "B+A=" B; "+" A; "=" B + APRINT "B$+A$=" B$; "+" A$; "=" B$ + A$输出结果:A+B= 123 + 456 = 579A$+B$=123+456=123456B+

8、A= 456 + 123 = 579B$+A$=456+123=456123五、字符串运算之二 比较1、单个字符的比较比较字符的大小,实际上就是比较他们的ASCII码。字符的大小是由它们本身的ASCII码决定的。为了以后编程的方便,我们应该记住几个特殊的字符的ASC码的值:A(65),a(97),0(48),空格(32),并且要记住,字符的ASCII码是按字典顺序排列的。2、两个字符串大小的比较为了叙述简短方便,我们称字符串为源串,子字符串为子串。两个字符串的大小比较按如下规则进行:字符串的比较从左边第一个字符开始,第一个字符大的字符串也大。若第一个字符相同,则取第二个字符比较以决定大小,并以

9、此类推;若两字符串长度相同,对应字符也都相等,则两个字符串相等;若两个字符串长度不同,长字符串前面几个字符与短字符串对应字符相同,则长字符串大。用比较运算符来连接字符串的式子,称为字符串关系表达式(简称串关系式),如:“abc”>“ABC”,a$<=abc$串关系式只有真假两个值,在QB中,真值用数“-1”表示,假值用数“0”表示。参见教材156页例8-3。第二部分 字符串函数及其应用字符串函数,我们经常搞不清楚什么时候函数的命令动词后有,什么时候又没有,其实我们只要看函数运行后的值是什么就可以知道了,如果得到的值是字符串,那这个函数就要带,而如果得到的是数值则不带,事实上字符串函

10、数也可以分成这两大种类型。一、测长函数 LEN格式 LEN(A$)功能:用来测出字符串的长度,即A所含的字符的个数。要注意的是空格也算长度的。参见书本159页例8-5例3-4:输入十个英语单词,统计它们的平均长度。程序清单:S = 0FOR I = 1 TO 10INPUT A$L = LEN(A$)S = S + LNEXT IPRINT "AVERGE=" S / 10EDN二、左取子串 LEFT格式 LEFT$(A$,X)功能:从字符变量A的左边开始向右取X个字符。如果X=0,则得到空串;如果XLEN(A),则得到A整个字符串。例3-5:写出下列程序的输出结果。A$

11、= "ABCDEFGH"PRINT LEFT$(A$, 4)PRINT LEFT$("1234" + A$, 10)END输出结果:ABCD1234ABCDEF思考:打印出如下图形:AABABCABCDABCDE三、右取子串 RIGHT格式 RIGHT$(A$,X)功能:从字符变量A的右边开始向左取X个字符。如果X=0,则得到空串;如果XLEN(A),则得到A整个字符串。例参见教材159页例8-6思考:打印出如下图形:EDECDEBCDEABCDE四、中取子串 MID格式 MID$(A$,B,X)功能:从字符变量A的第B个字符起开始向左取X个字符,如B0

12、,则会给出出错信息;如B>LEN(A),则得到空串。如果X=0,则得到空串;如果XLEN(A)+1-B或者省略,则得到从B开始的右边的所有字符。教材160页,例8-7,8-8及想一想五、字符的ASC码值函数 ASC格式 ASC(A$)功能:输出A中第一个字符的ASCII码的值,A中的字符不止一个时也只输出第一个字符的ASCII码的值。例如:PRINT ASC(“ABCD”),ASC(“Z”),ASC(“A”)+ASC(“Z”)的运行结果为65 90 155参见教材162页例8-11,在本例中,我们要学会用取得的ASC值作下标变量,并累加,这一点非常重要,在今后的程序中经常用到这个方法。六

13、、求ASC码对应的字符的函数 CHR格式 CHR$(X)功能:把ASC码转换成对应的字符。如果在程序中我们要输出引号可以用CHR(34)来实现。简单应用:例8-10,七、数值转制成字符串的函数 STR格式 STR$(X)功能:将括号内的值转换成相应的字符串,也叫数字字符串。如果X是一个正数,那么转换后的第一字符将是空格,而如果是负数,则转换后字符串前面为“-”号,如果是一个纯小数,那么小数点前的0也要丢失。例3-6、写出下列程序的输出结果A$ = "0.5"PRINT A$, LEN(A$)A$ = STR$(.5)PRINT A$, LEN(A$)A$ = STR$(.5

14、)PRINT A$, LEN(A$)A$ = STR$(-.5)PRINT A$, LEN(A$)A$ = STR$(1991)PRINT A$, LEN(A$)END输出结果:0.5 3 .5 3 .5 3-.5 3 1991 5八、字符串数值化的函数 VAL格式 VAL(A$)功能 :把字符串A转换为相应的数,它从第一个字符开始检查,当遇到不是数字的字符时就停止转换。如果A是一个科学记数学法的数,那么转换会得到的仍然是数。它和STR是一对反函数,但又不完全相反。这是因为在A中可以包含非数字的字符,参见教材161页例8-9例3-7、写出下列程序的运行结果A$ = "A12B24&q

15、uot;B$ = MID$(A$, 2, 2)C$ = RIGHT$(A$, 2)D$ = D$ + B$ + C$L = LEN(D$)V = VAL(D$) + LPRINT V运行结果:1228九、查找函数 INSTR格式 INSTR(N,A$,SUB$)功能:输出SUB在A中第一次出现的位置,从A中第N个字符向后查起。几点说明书本P164页。参见教材164页例8-12十、其它函数LTRIM$(A$):删除A$的首部空格。RTRIM$(A$):删除A$的尾部空格LCASE$(A$):把A$中的大写字母转成小写。UCASE$(A$):把A$中的小写字母转成大写。OCT$(N):输出一个与N

16、等值的八进制字符串。(N的值是一个整型或长整型数)HEX$(N):输出一个与N等值的十六进制字符串。(N的值是一个整型或长整型数)SPACE$(N):生成N个空格。STRING(N,S$|A)生成N个字符。字符为S$的第一个字符或ASC码为A的字符。例3-8:字符串旋移。例如输入Welcome to ues computer,则程序运行后显示为Welcome to ues computer elcome to ues computer Wlcome to ues computer Wer Welcome to ues compute问题分析:本题看似复杂,其实就是每次把右边的L-1个字符与最左

17、边的一个字符构成一个新串。程序清单:CLSA$ = "Welcome to use computer "L = LEN(A$)FOR I = 1 TO L PRINT A$A$ = RIGHT$(A$, L - 1) + LEFT$(A$, 1)NEXT IEND运行结果:Welcome to use computer elcome to use computer Wlcome to use computer Wecome to use computer Welome to use computer Welcme to use computer Welcoe to use

18、computer Welcom to use computer Welcometo use computer Welcome o use computer Welcome t use computer Welcome touse computer Welcome to se computer Welcome to ue computer Welcome to us computer Welcome to usecomputer Welcome to use omputer Welcome to use cmputer Welcome to use coputer Welcome to use

19、comuter Welcome to use compter Welcome to use compuer Welcome to use computr Welcome to use compute思考:如果要从左往右转,又应该如何?例3-9:取出源字符串中固定长度的所有子串。问题分析:虽然LEF、RIGHT也可以取子字符串,但由于一端固定,同样长度的子串只有一个。要取固定长度的所有子串,必须用MID函数。不断改变起始位置,就可取不同的子串。实际上,在每行打印字符串中一个字符的程序中,就取出了源串的所有子串。程序如下:a$ = "good"INPUT "x=&qu

20、ot; xa$ = "good"l = LEN(a$)FOR i = 1 TO l PRINT MID$(a$, i, x)NEXT iEND当输入1的时候,程序输出了所有的四个字串,但是当输入2的时候,我们发现输出的结果似乎有些问题,那就是最后一个子串只有一个字符。这是因为,当起始位置指到最后一个字符,源串中已经没有足够的字符可取。为了避免这种情况,就要计算最后一个子串的开始位置。我们可以对输入1、2和3的运行结果进行一下比较:设L为源串长,X为子串长,I为取完整子串的个数,即最后位置,则 L X I 4 1 4 4 2 3 4 3 2 X+I=L+1即 I=L+1-X源

21、串长和要取的子串长为已知,子串最后一组的开始位置也就确定。于是改程序如下:a$ = "good"INPUT "x=" xa$ = "good"l = LEN(a$)FOR i = 1 TO l+1-x PRINT MID$(a$, i, x)NEXT iEND思考:取出源字符串中所有子串该怎么办。第三部分 字符串的编辑处理1、插入在字符串A$中第I个位置前插入字符串B$。基本算法:(1) 求A$长度L=LEN(A$);(2) 将A$截成两个子字符串;A1$=LEFT(A$,I-1),A2$=RIGHT$(A$,L+1-I)(3) 将字

22、符串B$连接在A1和A2的中间。A$=A1$+B$+A2$思考:把自然语言的算法写成QB程序。2、查找算法:设要在字符串A$中查找字符串P$,若找到,得到其位置I,否则令I=0返回。(1) 求LA=LEN(A$),LP=LEN(P$);(2) 置初值I=0;(3) 令I从1到LA+1-LP循环,如果MID(A,I,LP)=P,则找到P,否则,继续查找。例3-10:请你设计一个程序,在字符串A查找分隔符“.”的位置。问题分析:(1) 设P$=“.”,A$=“EXAM.INP”。(2) 令LA=LEN(A),LP=LEN(P)。(3) 令I从1到LA+1-LP循环,如果MID(A,I,LP)=P,

23、则找到P,否则,继续查找。程序清单:a$ = "exam.inp"p$ = "."la = LEN(a$): lp = LEN(p$)FOR i = 1 TO la + 1 - lp IF MID$(a$, i, lp) = p$ THEN t = 1: s = iNEXT iIF t = 1 THEN PRINT s ELSE PRINT "no"END3、删除算法:从A$中将与P$相同的子串都删掉。在A$中要找到与P$相同的子串,去掉它之后再把余下的连接起来。(1) 求LA=LEN(A$):LP=LEN(P$)(2) 置初值I=0

24、(3) 令I从1到LA+1-LP循环,如果 MID$(A$,I,LP)=P$ 则A$=MID$(A$,1,I-1)+MID$(A$,I+LP)例3-11:要从“ABBAABBAB”中删掉“AB”。问题分析:显然位置1,2,位置5,6,位置8,9,就是要删掉的字符,最后结果为“BAB”。结果中虽然也有“AB”,但不是原来的字串。三个字符原来位置分别为:3,4,7。程序清单:A$ = "ABBAABBAB": P$ = "AB"LA = LEN(A$): LP = LEN(P$)FOR I = 1 TO LA + 1 - LP IF MID$(A$, I,

25、LP) = P$ THEN A$ = MID$(A$, 1, I - 1) + MID$(A$, I + LP)NEXT IPRINT A$END4、替换算法:将A$中与P$相同的字符串置换成R$,只要在找到P$后,截取前后两个字符串,把R$插入其中连接起来即可。其算法与删除算法类似。(1) 令LA=LEN(A$):LP=LEN(LP):LR=LEN(R$)(2) I=0(3) I=I+1(4) 如果 I>LA+1-LP ,则返回(5) 如果 MID$(A$,I,LP)=P$ 则A$=MID$(A$,1,I-1)+R$+MID$(A$,I+LP)LA=LA-LP+LRI=I+LR(6)

26、转步骤(3)例3-12:如果要将A$=“ABBAABBAB”中的“AB”置换为“PQR”,则其结果A$=“PQRBAPQRBPQR”。程序清单:CLSA$ = "ABBAABBAB": P$ = "AB": R$ = "PQR"LA = LEN(A$): LP = LEN(P$): LR = LEN(R$)I = 0DO I = I + 1 IF MID$(A$, I, LP) = P$ THEN A$ = MID$(A$, 1, I - 1) + R$ + MID$(A$, I + LP) LA = LEN(A$) I = I +

27、LR END IFLOOP UNTIL I > LA + A - LPPRINT A$END思考:为什么在这个程序中没有使用FOR循环,而使用了DO循环呢?有时在删除和置换时指定删除或插入的位置及子串的个数,那就不用查找,直接将两个参数代入MID$函数中就行了。设B为开始位置,X为子串长度,则删除 A$=MID$(A$,1,B-1)+MID$(A$,B+X)置换 A$=MID$(A$,1,B-1)+R$+MID$(A$,B+X)5、排序算法:可分两种:按字符串大小排序和按字长排序。两者又可结合,按字长排序,在相同的字长时按字符串大小排序。其排序的关键逻辑表达式是: IF A(J)<

28、A(I)OR A(I)=A(J)AND A$(J)<A$(I)THEN SWAP A$(I),A$(J);SWAP A(I),A(J)END IF因为在“排序”一讲中,还将专门讨论字符串排序的问题,所以这里不再多讲。6、统计算法:可分两种:按字符出现的次数统计和按字符串出现的次数统计。按字符出现次数统计见教材P162页例8-11,本例中要注意的问题:(1) A$()和A()分别定义的大小范围。(2) 学会A(ASC(A$(I)的使用方法,这是这一类题的关键所在。(3) 输出部分要注意A(I)=0,也即没有的字符要排除在外。按字符出现次数统计见教材P167页例8-15,本例中要注意的问题:

29、(1) 本例是要学习例8-14的基本上学习的,所以例8-14首先要掌握。(2) 在分离单词的时候,要让学生注意“.”的问题,并要分两种情况存放,第一是存放所有按序单词,第二是存放不同的单词,这里使用标志变量来解决。(3) 统计是建立在存放的基本上的,实际上就是用上面两种情况比较就好了。第四部分 综合举例例3-13、分解一个句子(把每个单词挑出)并按行打印。问题分析:我们知道:在英语句子中,每个单词之间都是用空格分开的。在句子的末尾加上一个空格之后,分解句子的算法如下:(1)设立单词长度计数器X,开始时,令X=0。(2)让搜索指针I从第一个字符开始逐个往右检查,如果不是空格,单词长度计数器X1,

30、继续检查。(3)如果被检查的第I个字符是空格,则这个空格左边的X个字符就是一个完整的单词,把它取出来。再令X=0,继续检查,直到全句结束。程序清单:CLSA$ = "I come form Beijing."A$ = A$ + " "LA = LEN(A$)FOR I = 1 TO LA X$ = MID$(A$, I, 1) IF X$ = " " OR X$ = "." OR X$ = "," THEN PRINT MID$(A$, I - X, X) X = 0 ELSE X = X +

31、1 END IFNEXT IEND运行结果:IcomeformBeijing例3-14、打印图形,大小由键盘输入,下图是M=4情况AAAAAAAABBBBBAABCCCBAABCDCBAABCCCBAABBBBBAAAAAAAA问题分析:打印这样的图形,先要找到所给图形的规律。让我们看一看下边的图。AAAAAAABBBBB CCC D 它是题目所给图形沿两条对角线折叠后的结果,既然如此,只要把上图沿两条对角线展开就可以了。所谓展开,就是变换行和列。我们用一个二维数组来记录这个表。第一个下标代表行,第二个下标代表列。A(I,J)=STR(I)A(J,I)=STR(I)A(N+1-I,N+1-J)

32、=STR(I)A(N+1-G,N+1-I)=STR(I)式中的I为行号,J为列号,N为图形的宽度(N=7)程序清单:CLSM = 4: N = M * 2 - 1FOR I = 1 TO M FOR J = I TO N + 1 - I D$ = CHR$(64 + I) A$(I, J) = D$ A$(J, I) = D$ A$(N + 1 - I, N + 1 - J) = D$ A$(N + 1 - J, N + 1 - I) = D$ NEXT JNEXT IFOR I = 1 TO N FOR J = 1 TO N PRINT A$(I, J); " " NEX

33、T JPRINTNEXT IEND例3-14、字典排序(02年小学组复赛第二题)问题描述输入N(N<=10)个不超过4位的整数,并要求按字典排序(字典排序的方法:先比较第一个数字,小者在先,若相同再比较第二位数字,以此类推),由小到大排序输出。例如:N=5 输 入: 13 130 39 27 4 输 出: 13 130 27 39 4输 入:N及N个不超过4位的整数输 出:按字典排序由小到大排序输出这N个整数。【问题分析】该题要解决以下四个问题:输入n与n个不超过4位的正整数把n个数转为字符串数字符串排序输出【变量说明】n为整数个数变量a()、a$()数组,存放输入的n个整数与相应的字符

34、串i、j为循环变量【算法分析】按问题分析,其算法本应该分四个模块,现把、合并,边输入边转为字符串,这样就分成三部分:输入n与n个不超过4位的正整数,同时就把数转为字符串,又细分为 输入n,用DO循环限制n不超过10DO INPUT "N=" nLOOP UNTIL n <= 10 用计数循环控制输入n个正整数,用DO循环限制每个数不超过4位,用STR$函数把数转为字符串,用MID$(STR$(a(i), 2)把前面的符号位空格去掉FOR i = 1 TO n DO PRINT "A(" i; ")" INPUT a(i) a$(

35、i) = MID$(STR$(a(i), 2) LOOP UNTIL LEN(a(i) <= 4NEXT数字符串排序,用最简单的选择排序法FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF a$(i) > a$(j) THEN SWAP a$(i), a$(j)NEXT j, i输出FOR i = 1 TO n: PRINT a$(i); " " : NEXT: PRINT【程序清单】REM X02F2DO INPUT "N=" nLOOP UNTIL n <= 10FOR i = 1 TO n DO PR

36、INT "A(" i; ")" INPUT a(i) a$(i) = MID$(STR$(a(i), 2) LOOP UNTIL LEN(a(i) <= 4NEXTFOR i = 1 TO n - 1 FOR j = i + 1 TO n IF a$(i) > a$(j) THEN SWAP a$(i), a$(j)NEXT j, iFOR i = 1 TO n: PRINT a$(i); " " : NEXT: PRINTEND第五部分 分析历年试题中与字符串相关的试题这里我们讨论的历年试题,指历年的复赛(现在的夏令营)

37、试题,往年初赛和现在的夏令营的抢答赛这里不作讨论,如果各位老师感兴趣也可以提出来,大家共同讨论。现在分析举例分析如下:97年的第二题:圆环上求素数。本题要解决两个问题:1、从圆环上取数,2、决断一个数是否为素数。后者是非常容易解决的,而从圆环上取数,就可以用字符串的方法来解决。只要我们先预设一个符合条件足够长的字符串,然后用MID函数分别取出,再用VAL转换成数就可以了。98年第二题:单词查找。本题属于那一年中的基本题,相对比较简单。本题主要考虑选手对字符串分离的知识。解题的关键是怎样把句子中的单词分离出来,而这是字符串基本程序之一,所以对学生来不是太难。但要注意的是:在本题中作为单词界定符的

38、,除是单词间的空格外,句末的”.”是不能忘记的。00年第一题:数字之和。本题属于基本题,可以说是让学生拿分的。对题中截取数位的问题可以用数学的方法去解决,但是如果用MID和VAL函数组合来做,会更方便更简单。 01年的第一题:数的排序中分离数字也可以用这个方法。01年的第二题:字符串操作。本题也属于当年的基本题。主要考察字符串的查找和置换,这个知识点学生是掌握了的,但是学生在这个题上却常常得不到满分,其原因就是学生对题目的阅读不够,没有把题中的要求看得清楚。在本题中,如果有多个只要换一个就可以了,而如果没有找到,输入的是“0”。这两点一定在读题时读到位,这样才能把题目做完整。02年的第一题:求二个二进制整数的最大公约数与最小公倍数。本来求两个数的最大公约数和最小公倍数是一个很简单的问题,但是因为现在求的是二进制的数,所以本题就有一些复杂。因为题中要求输入的数最大可能有20位,就这必然要用到字符串的方法。而要求最大公约数,我们只会做十进制的,所以我们得先把二进制转换成十进制,这是字符串中的一个基本知识点。由此我们发现本题虽有些复杂,但是却不难,它只是一些基本程序段的有机组合。03年的第二题:求最大公因子和最小公倍数与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论