2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  軟件技術(shù)課程設(shè)計報告</p><p>  課程名稱:模擬銀行家算法原理</p><p><b>  班級: </b></p><p><b>  學(xué)號: </b></p><p><b>  姓名: </b></p><

2、;p>  指導(dǎo)老師: </p><p><b>  2009年5月2日</b></p><p><b>  一 設(shè)計目的</b></p><p>  模擬實現(xiàn)銀行家算法,用銀行家算法實現(xiàn)資源分配。</p><p><b>  二 問題描述</b></p>

3、;<p>  在死鎖的避免中,銀行家算法把系統(tǒng)狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終處于安全狀態(tài),便可以避免發(fā)生死鎖。所謂安全狀態(tài),是指系統(tǒng)能按某種順序為每個進程分配所需資源,直到最大需求,使每一個進程都可以順利完成,即可找到一個安全資源分配序列。模擬實現(xiàn)這個工作過程。</p><p><b>  三 設(shè)計思路</b></p><p>  我們可

4、以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進程向操作系統(tǒng)請求分配資源相當(dāng)于用戶向銀行家貸款。操作系統(tǒng)按照銀行家制定的規(guī)則為進程分配資源,當(dāng)進程首次申請資源時,要測試該進程對資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請量分配資源,否則就推遲分配。當(dāng)進程在執(zhí)行中繼續(xù)申請資源時,先測試該進程已占用的資源數(shù)與本次申請的資源數(shù)之和是否超過了該進程對資源的最大需求量。若超過則拒絕分配資源,若沒有

5、超過則再測試系統(tǒng)現(xiàn)存的資源能否滿足該進程尚需的最大資源量,若能滿足則按當(dāng)前的申請量分配資源,否則也要推遲分配。</p><p><b>  四 詳細設(shè)計</b></p><p><b>  1、初始化</b></p><p>  由用戶輸入數(shù)據(jù),分別對可利用資源向量矩陣AVAILABLE、最大需求矩陣MAX、分配矩陣ALL

6、OCATION、需求矩陣NEED賦值。</p><p><b>  2、銀行家算法</b></p><p>  在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖。銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的;若是,才分配。</p&

7、gt;<p>  設(shè)進程cusneed提出請求REQUEST [i],則銀行家算法按如下規(guī)則進行判斷。</p><p>  (1)如果REQUEST [cusneed] [i]<= NEED[cusneed][i],則轉(zhuǎn)(2);否則,出錯。</p><p>  (2)如果REQUEST [cusneed] [i]<= AVAILABLE[cusneed][i],則

8、轉(zhuǎn)(3);否則,出錯。</p><p>  (3)系統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù):</p><p>  AVAILABLE[i]-=REQUEST[cusneed][i];</p><p>  ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];</p><p>  NEED[cusneed][i]-=RE

9、QUEST[cusneed][i];</p><p>  (4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統(tǒng)恢復(fù)原狀,進程等待。</p><p>  (5)對于某一進程i,若對所有的j,有NEED[i][j]=0,則表此進程資源分配完畢,應(yīng)將占用資源釋放。</p><p><b>  3、安全性檢查算法</b></p

10、><p>  (1)設(shè)置兩個工作向量Work=AVAILABLE;FINISH</p><p>  (2)從進程集合中找到一個滿足下述條件的進程,</p><p>  FINISH==false;</p><p>  NEED<=Work;</p><p>  如找到,執(zhí)行(3);否則,執(zhí)行(4)</p>

11、<p>  (3)設(shè)進程獲得資源,可順利執(zhí)行,直至完成,從而釋放資源。</p><p>  Work+=ALLOCATION;</p><p>  Finish=true;</p><p><b>  GOTO 2</b></p><p>  (4)如所有的進程Finish= true,則表示安全;否則系統(tǒng)

12、不安全。</p><p><b>  4、流程圖</b></p><p><b>  四 源程序:</b></p><p>  #include <iostream></p><p>  #include <windows.h> </p><p>  

13、#include <time.h> </p><p>  //#include <stdio.h> </p><p>  //#include<conio.h></p><p>  using namespace std;</p><p>  #define MAXPROCESS 50

14、 /*最大進程數(shù)*/ </p><p>  #define MAXRESOURCE 100 /*最大資源數(shù)*/</p><p>  int AVAILABLE[MAXRESOURCE]; /*可用資源數(shù)組*/</p><p>  int MAX[MAXPROCE

15、SS][MAXRESOURCE]; /*最大需求矩陣*/</p><p>  int ALLOCATION[MAXPROCESS][MAXRESOURCE]; /*分配矩陣*/</p><p>  int NEED[MAXPROCESS][MAXRESOURCE]; /*需求矩陣*/</p><p>  int RE

16、QUEST[MAXPROCESS][MAXRESOURCE]; /*進程需要資源數(shù)*/</p><p>  int SUMMIT[MAXRESOURCE]={0} ; /*各種資源總量*/</p><p>  int NEEDc[MAXRESOURCE]={0}; /*輔助向量*/</p><p>

17、  bool FINISH[MAXPROCESS]; /*系統(tǒng)是否有足夠的資源分配*/</p><p>  int p[MAXPROCESS]; /*記錄序列*/</p><p>  int m,n; /*m個進程,n個資源*/<

18、/p><p>  void Init();</p><p>  bool Safe();</p><p>  void Bank();</p><p>  void main()</p><p><b>  {</b></p><p>  //textbackground(0)

19、; /* 設(shè)置屏幕背景色 */ </p><p><b>  Init();</b></p><p><b>  Safe();</b></p><p><b>  Bank();</b></p><p><b>  }</b></p>&l

20、t;p>  void Init() /*初始化算法*/</p><p><b>  {int i,j;</b></p><p>  cout<<" "<<endl;</p><p>  cout<<"

21、 銀行家算法模擬"<<endl;</p><p>  cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p>  cout<<"

22、 通信0602 唐敏 0401060223 "<<endl;</p><p>  cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p&

23、gt;<p>  cout<<" "<<endl;</p><p>  cout<<" 算法簡介:"<<endl;</p><p>  cout<<" 在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意"<&

24、lt;endl;</p><p>  cout<<" 的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要"<<endl;</p><p>  cout<<" 能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖"<<endl;</p><p>  co

25、ut<<" 銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的;若是"<<endl;</p><p>  cout<<" ,才分配。它是最具有代表性的避免死鎖的算法。"<<endl;</p><p>  cout<<" "<&

26、lt;endl;</p><p>  cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p>  cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

27、~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p>  cout<<" "<<endl;</p><p>  cout<<" 請稍候...6秒后跳入主界面" <<endl;<

28、/p><p>  Sleep(6000); </p><p>  system("cls"); </p><p>  cout<<" "<<endl;</p><p>  cout <<" 運

29、行界面"<<endl; </p><p>  cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

30、>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;</p><p>  cout<<&q

31、uot;請輸入進程的數(shù)目:"<<endl;</p><p><b>  cin>>m;</b></p><p>  cout<<"請輸入資源的種類:"<<endl;</p><p><b>  cin>>n;</b></p>

32、;<p>  cout<<"請輸入每個進程最多所需的各資源數(shù),按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;</p><p>  for(i=0;i<m;i++)</p><p>  for(j=0;j<n;j++)<

33、;/p><p>  cin>>MAX[i][j];</p><p>  cout<<"請輸入每個進程已分配的各資源數(shù),也按照"<<m<<"x"<<n<<"矩陣輸入"<<endl;</p><p>  for(i=0;i<m

34、;i++)</p><p><b>  {</b></p><p>  for(j=0;j<n;j++)</p><p><b>  {</b></p><p>  cin>>ALLOCATION[i][j];</p><p>  NEED[i][j]=MA

35、X[i][j]-ALLOCATION[i][j];</p><p>  if(NEED[i][j]<0)</p><p><b>  {</b></p><p>  cout<<"您輸入的第"<<i+1<<"個進程所擁有的第"<<j+1<<

36、"個資源數(shù)錯誤,請重新輸入:"<<endl;</p><p><b>  j--;</b></p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  }</b>

37、;</p><p><b>  }</b></p><p>  for(j=0;j<n;j++) //已分配各資源總數(shù)</p><p><b>  {</b></p><p>  for(i=0;i<m;i++)</p><p>  NEED

38、c[j]=ALLOCATION[i][j]+NEEDc[j];</p><p><b>  }</b></p><p>  // for(i=0;i<n;i++) //此四行用于檢驗</p><p><b>  // {</b></p><p>  //

39、 cout<<""<<NEEDc[i]<<" ";</p><p><b>  // }</b></p><p>  cout<<"請輸入各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p>  for(i=0;i

40、<n;i++)</p><p><b>  {</b></p><p>  cin>>AVAILABLE[i];</p><p><b>  }</b></p><p>  for(i=0;i<n;i++) //總資源數(shù)</p><p

41、><b>  {</b></p><p>  SUMMIT[i]=AVAILABLE[i]+ NEEDc[i];</p><p><b>  }</b></p><p>  //for(i=0;i<n;i++) //檢驗用</p><p>  //cout

42、<<""<<SUMMIT[i]<<" ";</p><p>  // cout<<" "<<endl;</p><p>  cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

43、~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p>  cout<<"初始化后狀態(tài)顯示:"<<endl;</p><p>  cout<<"每個進程最多所需的各資源數(shù)"<<endl;</p><p>  for(i=0;

44、i<m;i++)</p><p>  {for(j=0;j<n;j++)</p><p>  cout<<""<<MAX[i][j]<<" ";</p><p><b>  if(j=n-1)</b></p><p>  cout

45、<<" "<<endl;</p><p><b>  }</b></p><p>  cout<<"每個進程已分配的各資源數(shù)"<<endl;</p><p>  for(i=0;i<m;i++)</p><p>  {for(j

46、=0;j<n;j++)</p><p>  cout<<""<<ALLOCATION[i][j]<<" ";</p><p><b>  if(j=n-1)</b></p><p>  cout<<" "<<endl

47、;</p><p><b>  }</b></p><p>  cout<<"各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p>  for(i=0;i<n;i++)</p><p>  cout<<""<<AVAILABLE

48、[i]<<" ";</p><p>  cout<<" "<<endl;</p><p>  cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<&

49、lt;endl;</p><p><b>  }</b></p><p>  void Bank() /*銀行家算法*/</p><p><b>  {</b></p><p>  int i,j,cusneed;</p><p>  char

50、again;</p><p>  int sum=0; /*監(jiān)測某一進程資源是否分配完畢*/</p><p>  int add=0;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  co

51、ut<<"請輸入要申請資源的進程號(注:第1個進程號為0,依次類推)"<<endl;</p><p>  cin>>cusneed;</p><p>  cout<<"請輸入進程所請求的各資源的數(shù)量"<<endl;</p><p>  for(i=0;i<n;i

52、++)</p><p><b>  {</b></p><p>  cin>>REQUEST[cusneed][i];</p><p><b>  // }</b></p><p>  // for(i=0;i<n;i++)</p><p><b>

53、;  // {</b></p><p>  if(REQUEST[cusneed][i]>NEED[cusneed][i])</p><p><b>  {</b></p><p>  cout<<"您輸入的本個請求數(shù)超過進程的需求量!請重新輸入!"<<endl;</p>

54、<p><b>  i--;</b></p><p><b>  continue;</b></p><p><b>  }</b></p><p>  if(REQUEST[cusneed][i]>AVAILABLE[i])</p><p><b&g

55、t;  {</b></p><p>  cout<<"您輸入的本個請求數(shù)超過系統(tǒng)有的資源數(shù)!請重新輸入!"<<endl;</p><p><b>  i--;</b></p><p><b>  continue;</b></p><p>&l

56、t;b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i++) //資源分配</p><p><b>  {</b></p><p>  AVAILABLE[i]-=REQUEST[cus

57、need][i];</p><p>  ALLOCATION[cusneed][i]+=REQUEST[cusneed][i];</p><p>  NEED[cusneed][i]-=REQUEST[cusneed][i];</p><p><b>  }</b></p><p>  if(Safe())</p&

58、gt;<p><b>  {</b></p><p>  cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;</p><p>  cout<<"同意分

59、配請求!"<<endl;</p><p>  cout<<"此次分配后狀態(tài)顯示:"<<endl;</p><p>  cout<<"當(dāng)前每個進程最多尚需的各資源數(shù)"<<endl;</p><p>  for(i=0;i<m;i++)</p>

60、<p>  {for(j=0;j<n;j++)</p><p>  cout<<""<<NEED[i][j]<<" ";</p><p><b>  if(j=n-1)</b></p><p>  cout<<" "

61、;<<endl;</p><p><b>  }</b></p><p>  cout<<"當(dāng)前每個進程已分配過的各資源數(shù)"<<endl;</p><p>  for(i=0;i<m;i++)</p><p>  {for(j=0;j<n;j++)<

62、;/p><p>  cout<<""<<ALLOCATION[i][j]<<" ";</p><p><b>  if(j=n-1)</b></p><p>  cout<<" "<<endl;</p><

63、p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><p>  for(j=0;j<n;j++)</p><p>  add=NEED[i][j]+add; //是否已分配完畢</p><p>  if(add!=0)</p><p>

64、<b>  {</b></p><p>  for(i=0;i<n;i++) </p><p>  sum=NEED[cusneed][i]+sum;</p><p>  cout<<"sum值:"<<sum<<""<<endl;</p>

65、<p>  //cout<<""<<sum<<" ";</p><p>  cout<<" "<<endl;</p><p>  if (sum==0)</p><p>  { for(i=0;i<n;i++)</p&

66、gt;<p>  AVAILABLE[i]= ALLOCATION[cusneed][i]+AVAILABLE[i];</p><p><b>  }</b></p><p><b>  sum=0;</b></p><p>  cout<<"各個資源現(xiàn)有的數(shù)目:"<&l

67、t;endl;</p><p>  for(i=0;i<n;i++)</p><p>  cout<<""<<AVAILABLE[i]<<" ";</p><p>  cout<<" "<<endl;</p><p&g

68、t;<b>  add=0; </b></p><p><b>  }</b></p><p>  //cout<<""<<add<<" "endl;</p><p><b>  else</b></p>

69、<p><b>  {</b></p><p>  cout<<"各個資源現(xiàn)有的數(shù)目:"<<endl;</p><p>  for(i=0;i<n;i++)</p><p>  cout<<""<<SUMMIT[i]<<&qu

70、ot; ";</p><p>  cout<<" "<<endl;</p><p><b>  }</b></p><p>  cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

71、~~~~~~~~~~~~~~~~~~"<<endl;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"您的請求被拒絕!&q

72、uot;<<endl; //撤消資源分配</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  AVAILABLE[i]+=REQUEST[cusneed][i];</p><p>  ALLOCATION[cusneed][i]-=REQU

73、EST[cusneed][i];</p><p>  NEED[cusneed][i]+=REQUEST[cusneed][i];</p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><

74、;p><b>  {</b></p><p>  FINISH[i]=false;</p><p><b>  }</b></p><p>  cout<<"您還想再次請求分配嗎?是請按y/Y,否請按其它鍵"<<endl;</p><p>  cin

75、>>again;</p><p>  if(again=='y'||again=='Y')</p><p><b>  {</b></p><p><b>  continue;</b></p><p><b>  }</b><

76、/p><p>  break; //跳出while</p><p>  } </p><p><b>  }</b></p><p>  bool Safe() /*安全性算

77、法*/</p><p><b>  {</b></p><p>  int i,j,k,l=0;</p><p>  int Work[MAXRESOURCE]; /*工作數(shù)組*/</p><p>  for(i=0;i<n;i++)</p><p> 

78、 Work[i]=AVAILABLE[i];</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  FINISH[i]=false;</p><p><b>  }</b></p><p>  for(i=0;

79、i<m;i++)</p><p><b>  { </b></p><p>  if(FINISH[i]==true)</p><p><b>  {</b></p><p><b>  continue;</b></p><p><b

80、>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for(j=0;j<n;j++)</p><p><b>  {</b></p><p>  if(NEE

81、D[i][j]>Work[j])</p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

82、;b>  if(j==n)</b></p><p><b>  { </b></p><p>  FINISH[i]=true; //FINISH在此被賦值,表進程i可順利進行</p><p>  for(k=0;k<n;k++) //并假設(shè)已執(zhí)行完成</p><p><b&g

83、t;  {</b></p><p>  Work[k]+=ALLOCATION[i][k];</p><p><b>  }</b></p><p><b>  p[l++]=i;</b></p><p>  i=-1; //再從i=0開始判斷</p>

84、;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  continue; </p><p><b>  }</b></p><p>

85、<b>  }</b></p><p>  if(l==m) //所有進程都可完成</p><p><b>  {</b></p><p>  cout<<"系統(tǒng)是安全的"<<endl;</p><p>  cout<

86、;<"安全序列:"<<endl;</p><p>  for(i=0;i<l;i++)</p><p><b>  {</b></p><p>  cout<<p[i];</p><p>  if(i!=l-1) //最后一項不輸--></p>

87、;<p><b>  {</b></p><p>  cout<<"-->";</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<""

88、;<<endl;</p><p>  return true;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"系統(tǒng)是不安全的"<<endl;</p><p&

89、gt;  return false; </p><p><b>  }</b></p><p>  五 運行調(diào)試及結(jié)果說明</p><p>  初始化時若已分配資源多于最多所需資源則會報錯,需重新輸入(如上圖所示)</p><p><b>  初始化后狀態(tài)顯示</b></p><

90、p>  資源分配時請求量超過需求量或現(xiàn)有資源數(shù)同樣會報錯(如上圖)</p><p>  特殊情況:若申請資源數(shù)既不大于資源需求量,又不大于現(xiàn)有資源數(shù),但仍有可能導(dǎo)致死鎖,如上圖所示。此時會顯示系統(tǒng)不安全,請求被拒絕。</p><p> ?。楸阌谡f明,以上均采用二階矩陣。其他類型矩陣原理相同)</p><p>  Sum=0,表某一進程資源分配完畢,資源釋放(

91、請結(jié)合第四個圖)</p><p><b>  六 總結(jié)</b></p><p>  本次設(shè)計中首先要解決的問題是對所做題目的理解。簡單的文字描述總是生澀難懂,像銀行家算法這一問題,如果單看題目要求往往不知如何下手,更不要談下一步的設(shè)計過程。但倘若聯(lián)系實際生活中銀行貸款這一現(xiàn)象,再來看問題時,一切開始顯得清晰,再加上老師的指點,便可以把自己究竟該作何工作搞清楚。這也給我

92、一啟示,我們要解決的諸多問題都源自生活,若要解決它,聯(lián)系實際是個很不錯的選擇。</p><p>  明白了需求,下一個難點是如何通過軟件實現(xiàn)。我所做的銀行家算法這一題目,為了防止死鎖,需要進行大量的判斷,這也導(dǎo)致了一個問題,即在進行調(diào)試時,一旦出現(xiàn)問題,往往難以找到問題所在,針對這一問題,我編寫了一些監(jiān)測行(請參看源程序),這樣能比較容易的找到問題的原因所在,這也是此次課程設(shè)計中在編程方面的一個收獲。</p

溫馨提示

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

評論

0/150

提交評論