第5章數(shù)組-西安交通大學教師個人主頁-首頁_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第五章 數(shù) 組,Fortran 90數(shù)組的特點:*** 可以逐個元素對數(shù)組進行操作,也可以對數(shù)組整體、數(shù)組段直接進行操作;*** Fortran 90提供了針對數(shù)組操作的構造塊和函數(shù);*** Fortran 90提供了動態(tài)數(shù)組,以有效利用內存;*** Fortran 90 數(shù)組具有隱式循環(huán)和數(shù)組賦值的功能。,數(shù)組聲明實例 REAL,DIMENSION(15) ::X

2、 !下界缺省值為1 REAL,DIMENSION(1:5,1:3) ::Y REAL,DIMENSION(-4:0,1:3) ::Z (1)維(rank) — 代表下標個數(shù)。X為一維數(shù)組,Y和Z為二維數(shù)組。(2)界(bounds) — X下界1、上界15,Y下界1和1,上界5和3,Z下界-4和1、上界0和3。(3)度(extent) — 維上的元素個數(shù)。X度為15,

3、Y和Z度為5和3。(4)大小(size) — 總的元素個數(shù),或特定維上的元素個數(shù)。X、Y和Z的大小為15。(5)形狀(shape) — 由維和度決定。X的形狀為(/15/),Y和Z形狀為(/5,3/)。(6)一致的(conformable) — 形狀相同的數(shù)組是一致的或兼容的,一致的數(shù)組才能相互賦值,這里Y和Z 形狀相同。,第一節(jié) 數(shù)組聲明,數(shù)組聲明的一般形式: TYPE,DIMENSION( [dl:],du[

4、[dl:] du]…) ::Arr TYPE [::] Arr( [dl:], du[[dl:] du]…) TYPE代表數(shù)據(jù)類型,dl 和du 分別為維的下界和上界,Arr 為數(shù)組變量。下列都是合法的數(shù)組聲明: REAL,DIMENSION(100) ::R REAL,DIMENSION(1:10,1:10)

5、 ::S REAL ::T(10,10) REAL,DIMENSION(-10: -1) ::X INTEGER,PARAMETER

6、 ::1da=5 REAL,DIMENSION(0:1da-1) ::Y REAL,DIMENSION(1+1da*1da,10) ::Z表明:(1)上、下界可以任意規(guī)定;(2)缺省下界為1;(3)可省略 DIMENSION 屬性,如 T ;(4)數(shù)組大小可以為0;(5) Fortran 77數(shù)組聲明分2步:先數(shù)

7、組類型,再數(shù)組維數(shù)及大小。,例 5-1 一維數(shù)組的使用,從保存有學生學號、姓名和成績三列數(shù)據(jù)的文件中讀取全部數(shù)據(jù),并在屏幕上顯示 PROGRAM Main IMPLICIT NONE INTEGER,PARAMETER :: MAX = 100 ! 最大行數(shù) CHARACTER(20) NO(MAX),

8、NAME(MAX) ! 學號、姓名 REAL MARK(MAX) ! 成績 INTEGER IO,I,N ! N 代表實際行數(shù) OPEN (1,F(xiàn)ILE = ‘

9、DATA.TXT’) READ(1,*,IOSTAT = IO) (NO(I),NAME(I),MARK(I),I=1,MAX) IF(IO<0)THEN ! 遭遇文件尾 N=I-1 ELSE

10、 N=MAX END IF PRINT*,N WRITE(*,‘(2A,F(xiàn)4.1)’) (NO(I),NAME(I),MARK(I),I=1,N) CLOSE(1) END PROGRAM,例5-2 二維數(shù)組的使用,從保存有學生學號、姓名和成績三列數(shù)據(jù)的文件中讀取全部數(shù)據(jù),并在屏幕上顯

11、示 PROGRAM Main IMPLICIT NONE INTEGER,PARAMETER :: MAX = 100 !最大行數(shù) CHARACTER(20) Stud(MAX,3)

12、 !學號、姓名、成績,共3列 INTEGER IO,I,J,N OPEN (1,F(xiàn)ILE = ‘DATA.TXT’) READ(1,*,IOSTAT = IO) ((Stud(I,J),J=1,3),I=1,MAX) IF(IO<0)THEN

13、 N=I-1 ELSE N=MAX END IF PRINT*,N PRINT*,((Stud(I,J),J=1,3),I=1,N) CLOSE(1) END PROGRAM,1. 自由存

14、儲不規(guī)定數(shù)組在內存中如何存儲,便于編寫可移植的程序,編譯器可以自由地實現(xiàn)存儲優(yōu)化。例如:在分布式計算環(huán)境中,一個大的數(shù)組可以被存儲到100 個處理器中,每個存儲數(shù)組中的部分元素。在 High Performance Fortran 中,自由存儲被廣泛應用。2. 列主存儲先存儲第一列,然后是第二列、第三列,直到最后一列,稱為列主存儲。例如:向另一個語言編寫的例程傳遞數(shù)組、數(shù)組構造、數(shù)組輸入/輸出、系統(tǒng)提供的一些數(shù)組函數(shù)(TRANS

15、FER,RESHAPE,PACK,UNPACK和MERGE)時,需要明確給出數(shù)組的存儲方式 — 列主存儲。,第二節(jié) 數(shù)組存儲,1. 數(shù)組賦初值(1) 使用 DATA 的一般形式為: INTEGER A(5) DATA A/1, 2, 3, 4, 5/ ! A(1), A(2), A(3), A(4), A(5)的值分別為1, 2, 3, 4, 5(2) 使用乘號(*) DATA A /5

16、 *3/ ! A(1), A(2), A(3), A(4), A(5)的值都為3乘號“*” 表示數(shù)據(jù)的重復, 重復的次數(shù)寫在前面。(3) 使用隱式循環(huán) DATA (A(I), I=2,4) /2, 3, 4/ !A(2),A(3),A(4)的值分別為2,3,4隱式循環(huán)可用來設置數(shù)組的初值,也可以認為是 DO 循環(huán)的簡略形式,在隱式循環(huán)中,同樣可以設置循環(huán)變量的增量(或步長)。例如: DATA

17、 (A(I), I=1, 5, 2) /1, 3, 5/ !A(1),A(3),A(5)的值分別為1,3,5,第三節(jié) 數(shù)組操作,隱式循環(huán)也可以嵌套使用,例如: INTEGER B(2,2),I,J DATA ((B(I,J),J=1,2 ) /1,2,3,4/(4) 省略 DATAFortran 90可以省略 DATA 關鍵字,直接給數(shù)組設置初值。例如: IN

18、TEGER :: A(5)=(/1,2,3,4,5/)省略 DATA ,仍可使用隱式循環(huán),所賦初值的個數(shù)要與數(shù)組元素的個數(shù)相等。 INTEGER I INTEGER ::A(5)=(/1,(2,I=2,4),5/) !A(2),A(3),A(4)的值為2,A(1)和A(5)的值分別為1,5隱式循環(huán)可以給數(shù)組賦初值,也可以用來輸出數(shù)組。例如:

19、 PRINT *,((B(I,J),I=1,2),J=1,2),2. 數(shù)組整體操作Fortran 90 可以對數(shù)組進行整體操作,操作簡化,舉例說明如下: A=5其中,A是任意維數(shù)及大小的數(shù)組,該語句將數(shù)組A 所有元素的值設為5。 A=(/1,2,3/)其中,A(1)=1,A(2)=2,A(3)=3,所提供的數(shù)據(jù)個數(shù)必須跟數(shù)組 A 的大小一樣。 A=B其中,A 和 B

20、是形狀完全相同的數(shù)組,數(shù)組 A 相應位置元素的值設置成同數(shù)組 B。 A=B+C A=B-C A=B*C A=B/C其中,A、B 和 C 是3個形狀完全相同的數(shù)組,數(shù)組 B 和 C 相應位置元素的值相加、相減、相乘和相除,得到的結果再賦給數(shù)組 A 對應元素。 A=Sin(B)其中,數(shù)組 A 的每一個元素為數(shù)組 B 相應元素的 Sin 值,數(shù)組 B 須是

21、實型。 A=B>C其中,A、B 和 C 是3個形狀完全相同的數(shù)組,不過 A 為邏輯型數(shù)組,B 和 C 為同類型的數(shù)值型數(shù)組。,3. 數(shù)組段操作Fortran 90除針對整個數(shù)組進行操作外,還能對數(shù)組段進行操作。數(shù)組段的下標三元組形式為: [] : [] :[]數(shù)組段起始于下標 bound1 ,終止于下標 bound2,步長為 stride。例如: A(:) !整個

22、數(shù)組; A(m:n:k) !A(m)~A(n),步長為k A(m:) !A(m)~A(上界),步長1; A(:n) !A(下界)~A(n),步長1; A(::2) !A(下界)~A(上界),步長2; A(m:m) !一個元素的數(shù)組段數(shù)組段的操作語法類似于隱式循環(huán),如: A(3:5) =5 其中,將A(3)、A(4)

23、、A(5)的值設置為5,其他值不變。,A(3:) =5其中,將A(3)以后所有元素的值設為5,其他值不變。 A(3:5) = (/3,4,5/) 其中,將A(3) 、A(4)、 A(5) 的值分別設為 3、4、5,其他值不變。 A(1:3) = B(4:6)其中,設置A(1) = B(4)、 A(2) = B(5)、 A(3) = B(6)。 A(1:10) = A(10:1:-

24、1)其中,A(1:10)翻轉,即將A(1)設為A(10),A(2)設為A(9),依次類推。 A(:) = B(:,2)其中,假設 A 和 B 分別聲明為 INTEGER A(5)、 INTEGER B(5,2),這里將二維數(shù)組B第2列的 5 個元素的值賦給一維數(shù)組 A 的5個元素,注意必須保持元素個數(shù)的一致。,4. 數(shù)組輸出數(shù)組元素、數(shù)組整體和數(shù)組段都可以表控輸出(PRINT*),對3×3矩陣假設有下列

25、輸出語句: PRINT*,‘Array element =’,a(3,2) PRINT*,‘Array section =’,a(:,1) PRINT*,‘Sub – array =’,a(:2,:2) PRINT*,‘Whole Array

26、 =’,a PRINT*,‘Array Transp“d =’,TRANSPOSE(a)輸出結果為: Array element = 6 Array section = 1 2 3 Sub – array =1 2 4 5

27、 Whole Array =1 2 3 4 5 6 7 8 9 Array Transosed =1 4 7 2 5 8 3 6 9,5. WHERE構造關于WHERE的說明:WHERE用來取出部分數(shù)組內容進行操作,WHERE的操作是按照邏輯判斷,使用滿足條件的部分數(shù)組元素。關于WHERE的實例:使用 WHERE 構造計算應上交的所得稅,每年收入3萬元以下,所得

28、稅為10%;收入為3萬元到5萬元之間,所得稅為12%;收入5萬元以上,所得稅為15%例5-3 WHERE 構造的使用 PROGRAM Main IMPLICIT NONE REAL :: income(10)=(/25000,30000,50000,40000,& 35000

29、,60000,27000,45000,20000,70000/) REAL :: tax(10) = 0 INTEGER I CALL Proc_Where;PRINT*,tax CALL Proc_IF;PRINT*,tax CONTAINS,SUBROUTINE Proc_Where

30、 ! Where構造 WHERE(income<30000.0) tax = income*0.1 ELSEWHERE(income<50000.0) tax = income*0.12

31、 ELSEWHERE tax = income*0.15 END WHERE END SUBROUTINE SUBROUTINE Proc_IF ! IF構造 DO I

32、= 1,10 IF(income(I)<30000.0)THEN tax(I)=income(I)*0.1 ELSE IF(income(I)<50000.0)THEN tax(I)=income(

33、I)*0.12 ELSE tax(I)=income(I)*0.15 END IF END DO END SUBROUTINE END PROGRAM,WHERE 構造的程序代碼比較精簡,其語法格式為:

34、 WHERE(logical-expr1) block1 ELSEWHERE(logical-expr2) block2 ELSEWHERE(logical-expr3) block3 … ELSEWHERE

35、blockE END WHERE如果只有一條執(zhí)行語句,那么可以將這條執(zhí)行語句寫在 WHERE后面,并省略 END WHERE,例如:WHERE(income>50000) income = 50000此時,WHERE 構造轉化為 WHERE語句,WHERE語句和 IF 語句在構造形式上是相同的,但省去了循環(huán)語句,結構精簡。WHERE(logical-expr) 執(zhí)行語句,WHERE 構造也可以被命名,例如

36、: name:WHERE(income>50000) income = 50000 END WHERE nameWHERE 構造也可以嵌套使用,例如: WHERE(income<50000.0) WHERE(income<30000.0)

37、 tax = income*0.1 ELSEWHERE tax = income*0.12 END WHERE ELSEWHERE tax = income*0.15 END WHERE,6. FORALL 構造

38、FORALL構造,通過隱式循環(huán)來使用數(shù)組,功能強大,屬于 Fortran 95 新添功能,舉例說明如下:例 5-4 FORALL 構造的使用 PROGRAM Main IMPLICIT NONE INTEGERI,J,A(5,5) CALL Proc_1 WRITE(*,‘(5I)’)((A(I,J),J=1,5),I=1,5) CALL Proc_2

39、 WRITE(*,‘(5I)’)((A(I,J),J=1,5),I=1,5) CONTAINS SUBROUTINE Proc_1 FORALL(I=1:5,J=1:5) A(I,J)=I*J END FORALL END SUBROUTINE

40、 !Proc_1采用FORALL來實現(xiàn);Proc_2采用DO循環(huán)來實現(xiàn) SUBROUTINE Proc_2 DO I = 1,5 DO J = 1,5 A(I,J

41、) = I*J END DO END SUBROUTINE END PROGRAM,例5-5 FORALL 語句的使用 PROGRAM Main IMPLICIT NONE INTEGER I,J INTEGER,PARAMETER :: N=5

42、 INTEGER A(N,N) CALL Proc_1 WRITE(*,‘(5I)’)((A(I,J),J=1,N),I=1,N) CALL Proc_2 WRITE(*,‘(5I)’)((A(I,J),J=1,N),I=1,N) CONTAINS

43、 SUBROUTINE Proc_1 FORALL(I=1:N,J=1:N,IJ)A(I,J)=3 !下三角 END SUBROUTINE !內部例程Proc_1采用FORALL來實現(xiàn),SUBROUTINE

44、 Proc_2 DO I = 1,N DO J =1,N IF(IJ) A(I,J)=3 !下三角 END DO

45、END DO END SUBROUTINE END PROGRAM !內部例程Proc_2采用DO循環(huán)結合IF語句來實現(xiàn)FORALL 語句的一般形式為: FORALL(循環(huán)表達式1,[循環(huán)表達式2]…,[條件判別式]) 執(zhí)行語句FORALL 構造的一般形式為: [name:]

46、 FORALL (循環(huán)表達式1, [循環(huán)表達式2]…,[條件判別式]) FORALL 語句塊 END FORALL [name],關于FORALL的說明如下:(1)循環(huán)表達式,相當于 DO 循環(huán)中的表達式1、表達式2和表達式3,循環(huán)表達式的數(shù)量和數(shù)組維數(shù)相對應;(2)條件判別式,邏輯表達式,若省略該項(缺?。瑒t條件為真,條件判斷式可使用循環(huán)表達式中的循環(huán)變量;(3)FORALL

47、語句塊,要被賦值的變量須是數(shù)組元素或數(shù)組段,且須引用出現(xiàn)在循環(huán)表達式中的所有循環(huán)變量(或數(shù)組下標),賦值表達式不能是字符表達式;(4)Name規(guī)定FORALL 構造的名字;(5)FORALL 可以嵌套,可以在 FORALL 構造中使用 WHERE,但 WHERE構造中不能使用 FORALL ,F(xiàn)ORALL 的嵌套及 FORALL中使用 WHERE的例子詳見課本68頁的程序代碼段。,7. 矢量下標數(shù)組段中的元素次序未必是線性的,

48、例如: INTEGER,DIMENSION(5) :: V=(/1,4,8,12,10/) INTEGER,DIMENSION(3) :: W=(/1,2,2/) A(V) = 3.5A(V) 標識一個非規(guī)則數(shù)組段:A(1) 、A(4) 、A(8) 、A(12) 和A(10),將 3.5 賦給上列5個元素。 C(1:3,1) = A(W)將數(shù)組段C(1:3,1) 設為

49、A(1) 、A(2) 、A(2),即將A(1) 、A(2) 、A(2) 的值賦給數(shù)組段C(1:3,1) 。對矢量下標的說明:(1)矢量下標可用在賦值操作符(=)的任何一邊,為保持并行計算環(huán)境下數(shù)組操作的完整性,賦值操作符左邊的數(shù)組下標必須是唯一的,那么對A(W)賦值是非法的,因為A(W)放在“=”左邊,A(2)被賦值2次。(2)矢量下標的效率非常的低,不應輕易使用。,8. 數(shù)組標準函數(shù)Fortran 90 提供了許多針對數(shù)組操

50、作的標準函數(shù),假設有下列數(shù)組聲明: REAL,DIMENSION(-10:10,23,14:28) ::A說明如下:(1) LBOUND(SOURCE[,DIM]) — 返回指定維的數(shù)組下界,如: LBOUND(A) = (/-10,1,14/) (數(shù)組) LBOUND(A,1) = -10 (標量)(2) UBOUND(SOURCE[,DIM]) —

51、 返回指定維的數(shù)組上界,如: LBOUND(A) = (/10,23,28/) (數(shù)組) LBOUND(A,1) = 10 (標量)(3) SHAPE(SOURCE) — 返回數(shù)組形狀,如: SHAPE(A) = (/21,23,15/) (數(shù)組) SHAPE((/4/)) = (/1/) (數(shù)組)(4) SI

52、ZE(SOURCE[,DIM]) — 返回數(shù)組(或指定維)的元素個數(shù),如: SIZE(A,1) = 21 SIZE(A) = 7245,(5) RESHAPE(SOURCE,SHAPE) — 改變數(shù)組形狀,如: B = RESHAPE((/1,2,3,4/),(/2,2/)) ! INTEGER :: B(2,2)將一維數(shù)組A(4)改成二維數(shù)組B(2,2

53、), 存放順序為B(1,1),B(2,1),B(1,2),B(2,2) (6) ALL(X) — 相當于邏輯“與”操作,當邏輯數(shù)組 X 中的所有元素為真時,該函數(shù)返回真;否則,返回假。(7) ANY(X) — 相當于邏輯“或”操作,當邏輯數(shù)組 X 中的任何元素為真時,該函數(shù)返回真;否則,返回假。(8) SUM(X) — 返回數(shù)值型數(shù)組所有元素的和,如下列代碼段所示: INTEGER,DIMENSION(5,5):

54、:A REAL X(3),Y(3) … IF(ANY(A>0)) A=1 IF(ANY(A == 0)) A=-1 Dot = SUM(X*Y),作為例程參數(shù)使用的數(shù)組有固定形狀、假定大小和假定形狀數(shù)組3種形式,不管是哪一種形式的數(shù)組參數(shù),其傳遞均采取引用方式傳遞。1. 固定形狀數(shù)組固定形狀數(shù)組,其維具有明確的上、下界,其形狀規(guī)定采取如下形式: ([d

55、l:] du[,[dl:] du]…)其中:dl 和 du 分別代表下、上界,若下界省略,其缺省值為1,維的上、下界取整數(shù)。說明: 假設至少有一維的界由非常量表達式表示,這樣的數(shù)組稱為大小可調數(shù)組,其實際大小待例程調用時方能確定。非常量表達式中的變量,要么是虛參,要么是公用區(qū)中的變量。實例:例5-6。,第四節(jié) 數(shù)組參數(shù),例5-6 固定形狀數(shù)組,數(shù)組可調大小 PROGRAM MAIN

56、 IMPLICIT NONE REAL,DIMENSION(3,2)::A1=(/1.0,2.0,3.0,4.0,5.0,6.0/) PRINT*,THE_SUM(A1,3,2) CONTAINS FUNCTION THE_SUM(A,M,N)

57、 INTEGER M,N,I,J REAL A(M,N),THE_SUM,SUMX ! A為可調大小數(shù)組 SUMX=0.0 DO J=1,N DO I=1,M

58、 SUMX=SUMX+A(I,J) END DO END DO THE_SUM=SUMX END FUNCTION END PROGRAM*** 函數(shù)THE_SUM 中的虛參數(shù)

59、組A為可調大小數(shù)組,運行時,可調大小數(shù)組A的大小由與虛參M和N對應的實參決定。,2. 假定形狀數(shù)組假定形狀數(shù)組,不明確規(guī)定維的上界,其形狀規(guī)定形式為: ([dl]:[,[dl]:]…)下界 dl 若省略,缺省值為1。例5-7 假定形狀數(shù)組參數(shù)的使用 PROGRAM Main IMPLICIT NONE REAL,DIMENSION(

60、3:5,2:3)::A1=(/1.0,2.0,3.0,4.0,5.0,6.0/) PRINT*,THE_SUM(A1) CONTAINS FUNCTION THE_SUM(A) REAL A(-1:,:),THE_SUM,SUMX !A為假定

61、形狀數(shù)組 INTEGER I,J SUMX=0.0 DO J=1,UBOUND(A,2) DO I= -1,UBOUND(A,1)

62、 SUMX=SUMX+A(I,J) END DO END DO THE_SUM=SUMX END FUNCTION END PROG

63、RAM,假定形狀數(shù)組虛參采取和實參數(shù)組的形狀相同,或者說,實參 數(shù)組將形狀傳遞給虛參數(shù)組,然后兩者按列主方式逐個元素進 行對應,在例 5-7 中,實參數(shù)組和虛參數(shù)組的對應關系為:A1:A1(3,2), A1(4,2), A1(5,2), A1(3,3), A1(4,3), A1(5,3)A: A(-1,1), A(0,1), A(1,1), A(-1,2), A(0,2), A(1,2)

64、 程序中采用 UBOUND 函數(shù),直接獲取對應后的虛參數(shù)組上界。 若外部例程采用假定形狀數(shù)組參數(shù),則須在調用程序中建立其接口塊,例如: INTERFACE FUNCTION THE_SUM(A) REAL A(-1:,:) END FUNCTION END INTERFACE,3. 假定大小數(shù)組假定大小

65、:是指虛參數(shù)組和實參數(shù)組的大小相同。假定大小數(shù)組的形狀規(guī)定為: ([expli-shape-spec,]…[dl:]*) 其中:expli-shape-spec 代表固定形狀規(guī)定,dl 指最后一維的下界,缺省值為1,*指最后一維的上界。具體見實例5-8:假定大小虛參數(shù)組的使用。 PROGRAM Main IMPLICIT NONE REAL,DIMEN

66、SION(3,2) ::A1=(/1.0,2.0,3.0,4.0,5.0,6.0/) INTEGER ::ROW=3,COL=2!使用代表行、列數(shù)的參數(shù),來對數(shù)組中的各元素進行循環(huán) PRINT*,THE_SUM(A1,ROW,COL) CONTAINS

67、FUNCTION THE_SUM(A,M,N) INTEGER I,J,M,N REAL A(M,*),THE_SUM,SUMX !A為假定大小數(shù)組 SUMX=0.0 DO J=1,N

68、 DO I=1,M SUMX=SUMX+A(I,J) END DO END DO THE_SUM=SUMX END FU

69、NCTION END PROGRAM,動態(tài)數(shù)組:有時數(shù)組的實際大小事先無法確定,為適應可能的情況,通常聲明一個超大的數(shù)組,這無疑會浪費內存空間。因此定義動態(tài)數(shù)組,程序執(zhí)行時,決定數(shù)組的實際大小和為數(shù)組動態(tài)分配內存空間,當不需要時,將動態(tài)分配給數(shù)組的內存釋放掉,從而高效地利用資源。 Fortran 90 支持動態(tài)數(shù)組,F(xiàn)ortran 77不支持動態(tài)數(shù)組。動態(tài)數(shù)組的使用一般要經(jīng)歷3個步驟:(1) 聲明動態(tài)數(shù)組,規(guī)定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論