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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)題目:處理機(jī)調(diào)度算法模擬實(shí)現(xiàn)</p><p>  班級(jí) : </p><p><b>  學(xué)號(hào): </b></p><p><b>  姓名:</b></p>&

2、lt;p><b>  指導(dǎo)老師:</b></p><p>  設(shè)計(jì)時(shí)間:2012年八月</p><p><b>  摘要</b></p><p><b>  1、主要算法包括:</b></p><p>  先來(lái)先服務(wù)、短作業(yè)優(yōu)先、高優(yōu)先權(quán)優(yōu)先、基于時(shí)間片的輪轉(zhuǎn)、

3、多級(jí)反饋隊(duì)列調(diào)度算法。</p><p><b>  2、內(nèi)容要求:</b></p><p>  1)定義與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu),如進(jìn)程控制塊(PCB),相關(guān)隊(duì)列(隊(duì)列要考慮實(shí)際應(yīng)用,應(yīng)采用類(lèi)似于類(lèi)的私有成員定義所用到的隊(duì)列,并使用公有函數(shù)提供對(duì)類(lèi)的操作);</p><p>  2)所設(shè)計(jì)的系統(tǒng)中至少需要實(shí)現(xiàn)三種以上調(diào)度算法,且必須包含多級(jí)反饋隊(duì)列

4、調(diào)度算法;</p><p>  3)提供用戶(hù)選擇功能,用戶(hù)可以根據(jù)需要選擇采用何種調(diào)度算法;</p><p>  4)算法執(zhí)行結(jié)構(gòu)之后,應(yīng)該給出周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間。</p><p>  本系統(tǒng)模擬操作系統(tǒng)處理機(jī)調(diào)度算法的實(shí)現(xiàn),實(shí)現(xiàn)了先來(lái)先服務(wù)、短作業(yè)優(yōu)先、</p><p>  基于時(shí)間片的輪轉(zhuǎn)、多級(jí)反饋隊(duì)列調(diào)度算法四種調(diào)度算法的模擬實(shí)現(xiàn),

5、可以根據(jù)需要自行選擇合適的調(diào)度算法,進(jìn)程用PCB來(lái)控制,隊(duì)列由PCB相鏈接而成,分為就緒隊(duì)列,阻塞隊(duì)列,完成隊(duì)列。進(jìn)程在在運(yùn)行時(shí)可以隨時(shí)掛起暫停進(jìn)程執(zhí)行,待條件滿足后,繼續(xù)恢復(fù)運(yùn)行,進(jìn)程在運(yùn)行的時(shí)候優(yōu)先權(quán)是不斷的變化的,</p><p>  運(yùn)行的時(shí)間越長(zhǎng),優(yōu)先級(jí)會(huì)相應(yīng)減小。</p><p>  關(guān)鍵詞:先來(lái)先服務(wù),短作業(yè)優(yōu)先,高優(yōu)先權(quán)優(yōu)先,基于時(shí)間片的輪轉(zhuǎn),</p><

6、;p>  多級(jí)反饋隊(duì)列調(diào)度算法。</p><p><b>  目錄</b></p><p>  1. 概述 ……………………….4</p><p>  2. 課程設(shè)計(jì)任務(wù)及要求</p><p>  2.1 設(shè)計(jì)任務(wù) ………………………..4</p><p>

7、;  2.2 設(shè)計(jì)要求 ………………………..4</p><p>  3. 算法及數(shù)據(jù)結(jié)構(gòu)</p><p>  3.1算法的總體思想(流程)………………………5</p><p>  3.2 PCB模塊</p><p>  3.2.1 功能(運(yùn)算)……………………….5</p><p&

8、gt;  3.2.2 數(shù)據(jù)結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))……………………….5</p><p>  3.2.3 算法(實(shí)現(xiàn))……………………….5</p><p>  3.3 進(jìn)程隊(duì)列模塊</p><p>  3.3.1功能………………………6</p><p>  3.3.2 數(shù)據(jù)結(jié)構(gòu)………………………6</p>

9、;<p>  3.3.3算法………………………6</p><p>  4. 程序設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.1 程序流程圖……………………..7</p><p>  4.2 程序說(shuō)明(代碼)</p><p>  4.3 實(shí)驗(yàn)結(jié)果……………………..10</p>

10、;<p>  5. 結(jié)論……………………..11</p><p>  6. 參考文獻(xiàn)。……………………..11</p><p>  7. 收獲、體會(huì)和建議?!?.11</p><p><b>  一:概述</b></p><p>  定義與算法相關(guān)

11、的數(shù)據(jù)結(jié)構(gòu),模擬操作系統(tǒng)處理機(jī)調(diào)度算法的實(shí)現(xiàn),至少實(shí)現(xiàn)3種以上算法,且必須包含多級(jí)反饋隊(duì)列調(diào)度算法;提供用戶(hù)選擇功能,用戶(hù)可以根據(jù)需要選擇采用何種調(diào)度算法;算法執(zhí)行結(jié)構(gòu)之后,應(yīng)該給出周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間。</p><p>  二:課程設(shè)計(jì)任務(wù)及要求</p><p><b>  設(shè)計(jì)任務(wù):</b></p><p>  使用Visual C++

12、模擬實(shí)現(xiàn)處理機(jī)調(diào)度算法,實(shí)現(xiàn)先來(lái)先服務(wù)、短作業(yè)優(yōu)先、基于時(shí)間片的輪轉(zhuǎn)、多級(jí)反饋隊(duì)列調(diào)度算法。</p><p><b>  設(shè)計(jì)要求:</b></p><p>  所設(shè)計(jì)的系統(tǒng)中至少需要實(shí)現(xiàn)三種以上調(diào)度算法,且必須包含多級(jí)反饋隊(duì)列調(diào)度算法;提供用戶(hù)選擇功能,用戶(hù)可以根據(jù)需要選擇采用何種調(diào)度算法;</p><p>  算法執(zhí)行結(jié)構(gòu)之后,應(yīng)該給出周轉(zhuǎn)

13、時(shí)間和平均周轉(zhuǎn)時(shí)間。</p><p><b>  三:算法及數(shù)據(jù)結(jié)構(gòu)</b></p><p>  進(jìn)程控制塊數(shù)據(jù)結(jié)構(gòu)和相應(yīng)的操作。</p><p><b>  class PCB</b></p><p><b>  {</b></p><p><b

14、>  public:</b></p><p>  PCB(void);</p><p>  PCB(PCB &);</p><p>  void Creat(CString ,int );</p><p>  ~PCB(void);</p><p>  void Update();

15、//剩余時(shí)間與運(yùn)行時(shí)間更新</p><p>  CString ShowPro();//返回進(jìn)程信息</p><p>  bool IsEnd();//判斷進(jìn)行是否執(zhí)行完成</p><p>  void Dispose();//鎖定進(jìn)程</p><p>  bool IsLocked();

16、//判斷進(jìn)程是否鎖住</p><p>  void Terminal();//強(qiáng)制終止進(jìn)程函數(shù)</p><p>  int GetServiceT();//獲得需要服務(wù)時(shí)間</p><p>  float GetPrio();//返回進(jìn)程優(yōu)先級(jí)</p><p>  CString GetCurTi

17、me();//返回當(dāng)前系統(tǒng)時(shí)間</p><p>  CString GetName();//獲取進(jìn)程名稱(chēng)</p><p>  void UpdateGoneTime();//更新進(jìn)程周轉(zhuǎn)時(shí)間</p><p>  int GetGoneTime();//返回進(jìn)程周轉(zhuǎn)時(shí)間</p><p>  int GetRun

18、ingTime();//返回進(jìn)程運(yùn)行時(shí)間</p><p><b>  private:</b></p><p>  CString Name;//進(jìn)程名稱(chēng)</p><p>  CString Start;//創(chuàng)建時(shí)間</p><p>  int ServiceT;//需要

19、服務(wù)時(shí)間</p><p>  int RunningT;//已運(yùn)行時(shí)間</p><p>  int RemainT;//剩余時(shí)間</p><p>  int GoneTime;//消逝時(shí)間 || 周轉(zhuǎn)時(shí)間</p><p>  int ID;//進(jìn)程標(biāo)識(shí)符</p>

20、<p>  CString ReadyTime;//進(jìn)程成為就緒進(jìn)程的時(shí)間</p><p>  float prio;//進(jìn)程優(yōu)先權(quán)</p><p>  int Locked;//進(jìn)程鎖</p><p>  static int count ; //計(jì)數(shù)<

21、/p><p><b>  };</b></p><p>  #include "StdAfx.h"</p><p>  #include "PCB.h"</p><p>  int PCB::count =0;</p><p>  PCB::PCB(void)&

22、lt;/p><p><b>  {</b></p><p>  RemainT=0;//標(biāo)志對(duì)象初始化時(shí)沒(méi)有值,相當(dāng)于為空!</p><p><b>  Locked=1;</b></p><p>  GoneTime=0;</p><p><b>  }<

23、/b></p><p>  PCB::PCB(PCB &data)</p><p><b>  {</b></p><p>  Name=data.Name;</p><p>  Start=data.Start;</p><p>  ServiceT=data.ServiceT;&

24、lt;/p><p>  RunningT=data.RunningT;</p><p>  RemainT=data.RemainT;</p><p>  ID=data.ID;</p><p>  ReadyTime=data.ReadyTime;</p><p>  prio=data.prio;</p>

25、<p>  GoneTime=data.GoneTime;</p><p>  Locked=0;//解鎖</p><p><b>  }</b></p><p>  PCB::~PCB(void)</p><p><b>  {</b></p><p>&l

26、t;b>  }</b></p><p>  CString PCB::GetName()</p><p><b>  {</b></p><p>  return Name;</p><p><b>  }</b></p><p>  CString PCB

27、::GetCurTime()</p><p><b>  {</b></p><p>  if (Locked==1)</p><p><b>  {</b></p><p>  return "";</p><p><b>  }</b&

28、gt;</p><p>  //(CTime::GetCurrentTime()).Format("%H:%M:%S")</p><p>  SYSTEMTIME TM;</p><p>  ::GetSystemTime(&TM);</p><p>  CString tmp;</p><p&

29、gt;  tmp.Format(" %d:%d:%d"</p><p>  ,(8+TM.wHour)%24,TM.wMinute,TM.wSecond);</p><p>  return tmp;</p><p><b>  }</b></p><p>  int PCB::GetServiceT

30、()</p><p><b>  {</b></p><p>  return ServiceT;</p><p><b>  }</b></p><p>  float PCB::GetPrio()</p><p><b>  {</b></p&

31、gt;<p>  return prio;</p><p><b>  }</b></p><p>  void PCB::Creat(CString name , int needtime)</p><p><b>  {</b></p><p>  Locked=0;/

32、/默認(rèn)為鎖定Locked==1,創(chuàng)建需解鎖!</p><p>  Name = name;</p><p>  Start = GetCurTime();</p><p>  ServiceT = needtime;</p><p>  RunningT=0;</p><p>  RemainT=needtime;&l

33、t;/p><p><b>  ID=count;</b></p><p><b>  count++;</b></p><p>  if (count>100)</p><p><b>  {</b></p><p><b>  count=

34、0;</b></p><p><b>  }</b></p><p>  ReadyTime=GetCurTime();</p><p>  GoneTime=0;</p><p>  prio =(float)RemainT/ ServiceT;</p><p><b> 

35、 }</b></p><p>  void PCB::UpdateGoneTime()</p><p><b>  {</b></p><p>  if (Locked==1)</p><p><b>  {</b></p><p><b>  retu

36、rn ;</b></p><p><b>  }</b></p><p>  GoneTime++;</p><p><b>  }</b></p><p>  void PCB::Update()</p><p><b>  {</b>&l

37、t;/p><p>  if (Locked==1)</p><p><b>  {</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p>  RunningT++;</p><

38、;p>  if (RemainT>0)</p><p><b>  {</b></p><p>  RemainT--;</p><p><b>  }</b></p><p>  prio =(float) RemainT/ ServiceT;</p><p>

39、<b>  }</b></p><p>  void PCB::Dispose()</p><p><b>  {</b></p><p><b>  Locked=1;</b></p><p><b>  }</b></p><p&g

40、t;  CString PCB::ShowPro()</p><p><b>  {</b></p><p>  if (Locked==1)</p><p><b>  {</b></p><p>  return "";</p><p><b&g

41、t;  }</b></p><p>  CString tmp ;</p><p>  tmp.Format("進(jìn)程名:%s,進(jìn)程ID:%d,創(chuàng)建時(shí)間:%s,需要時(shí)間:%d,已運(yùn)行時(shí)間:%d,剩余時(shí)間:%d,優(yōu)先權(quán):%f",Name,ID,ReadyTime,ServiceT,RunningT,RemainT,prio);</p><p&

42、gt;  return tmp;</p><p><b>  }</b></p><p>  bool PCB::IsEnd()</p><p><b>  {</b></p><p>  if (RemainT<=0)</p><p><b>  {<

43、/b></p><p>  return true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  return false;</p>

44、<p><b>  }</b></p><p><b>  }</b></p><p>  bool PCB::IsLocked()</p><p><b>  {</b></p><p>  if (Locked==1)</p><p> 

45、 return true;</p><p><b>  else</b></p><p>  return false;</p><p><b>  }</b></p><p>  void PCB::Terminal()</p><p><b>  {</b

46、></p><p>  RemainT=0;</p><p><b>  }</b></p><p>  int PCB::GetGoneTime()</p><p><b>  {</b></p><p>  return GoneTime;</p>&

47、lt;p><b>  }</b></p><p>  int PCB::GetRuningTime()</p><p><b>  {</b></p><p>  return RunningT;</p><p><b>  }</b></p><p&

48、gt;<b>  進(jìn)程隊(duì)列的數(shù)據(jù)結(jié)構(gòu)</b></p><p>  struct Node</p><p><b>  {</b></p><p><b>  PCB Data;</b></p><p>  Node *next;</p><p><

49、;b>  };</b></p><p>  class Queue</p><p><b>  {</b></p><p><b>  public:</b></p><p><b>  Queue();</b></p><p><

50、;b>  ~Queue();</b></p><p>  bool IsEmpty();//判斷隊(duì)列是否為空</p><p>  void Enqueue(PCB );//進(jìn)程入隊(duì)</p><p>  void Dequeue();//進(jìn)程出隊(duì)</p><p>  int GetLe

51、ngth();//獲取隊(duì)列進(jìn)程數(shù)</p><p>  CString Print();//遍歷進(jìn)程信息</p><p>  void Update();//進(jìn)程時(shí)間更新</p><p>  void UpdateGoneTime();//更新隊(duì)列中進(jìn)程周轉(zhuǎn)時(shí)間</p><p>  PCB

52、 GetFirst();//獲取隊(duì)列中第一個(gè)進(jìn)程</p><p>  void LeastFirst();//按進(jìn)程服務(wù)時(shí)間排序隊(duì)列void Clear();//隊(duì)列刪除</p><p>  CString GetGoneTime();//返回進(jìn)程周轉(zhuǎn)時(shí)間</p><p>  Node *GetFirstPt

53、r();//獲取隊(duì)列頭指針</p><p><b>  private:</b></p><p>  Node *first;</p><p><b>  };</b></p><p>  #include "StdAfx.h"</p><p>

54、;  #include "Queue.h"</p><p>  Queue::Queue()</p><p><b>  {</b></p><p>  first = new Node;</p><p>  first->next =NULL;</p><p><

55、b>  }</b></p><p>  Queue::~Queue()</p><p><b>  {</b></p><p><b>  }</b></p><p>  //template <typename T></p><p>  boo

56、l Queue::IsEmpty()</p><p><b>  {</b></p><p>  if (first->next == NULL)</p><p>  return true;</p><p><b>  else</b></p><p>  retur

57、n false;</p><p><b>  }</b></p><p>  //template <typename T></p><p>  void Queue::Enqueue(PCB data)</p><p><b>  {</b></p><p> 

58、 Node *s = new Node;</p><p>  s->Data =data;</p><p>  Node *p; //work Ptr</p><p>  p = first;</p><p>  while(p->next)</p><p><b>  {</b>

59、</p><p>  p=p->next;</p><p><b>  }</b></p><p>  p->next =s;</p><p>  s->next =NULL;</p><p><b>  }</b></p><p>

60、  //template <typename T></p><p>  void Queue::Dequeue()</p><p><b>  {</b></p><p>  first->next = first->next->next;</p><p><b>  }</

61、b></p><p>  int Queue::GetLength()</p><p><b>  {</b></p><p>  int count =0;</p><p>  Node *p =first->next;</p><p><b>  while(p)<

62、/b></p><p><b>  {</b></p><p><b>  count++;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  return count;</p

63、><p><b>  }</b></p><p>  CString Queue::Print()</p><p><b>  {</b></p><p>  Node *p=first;</p><p>  int n =GetLength();</p><

64、p>  CString tmp ="";</p><p>  for (int i=0;i<n;i++)</p><p><b>  {</b></p><p>  tmp+=p->next->Data.ShowPro();</p><p>  tmp+="\r\n&

65、quot;;</p><p>  p=p->next;</p><p><b>  }</b></p><p>  return tmp;</p><p><b>  }</b></p><p>  PCB Queue::GetFirst()</p>&l

66、t;p><b>  {</b></p><p>  PCB tmp = first->next->Data;</p><p>  Dequeue();</p><p>  return tmp;</p><p><b>  }</b></p><p>  v

67、oid Queue::Update()</p><p><b>  {</b></p><p>  Node *p =first->next;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p&

68、gt;  p->Data.Update();</p><p>  p=p->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Queue::UpdateGoneTime()</p><p>&

69、lt;b>  {</b></p><p>  Node *p =first->next;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  p->Data.UpdateGoneTime();</p&g

70、t;<p>  p=p->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Queue::LeastFirst()</p><p><b>  {</b></p><

71、p>  Node *p=NULL;</p><p>  Node *q=NULL;</p><p>  if(first->next==NULL)</p><p><b>  {</b></p><p><b>  return;</b></p><p><

72、b>  }</b></p><p>  for(p=first->next;p->next;p=p->next)</p><p>  for (q=p->next;q;q=q->next)</p><p><b>  {</b></p><p>  if (p->Da

73、ta.GetServiceT()>q->Data.GetServiceT())</p><p><b>  {</b></p><p><b>  PCB tmp;</b></p><p>  tmp=p->Data;</p><p>  p->Data=q->Data

74、;</p><p>  q->Data=tmp;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void Queue::HighPrio()</p&

75、gt;<p><b>  {</b></p><p>  Node *p=NULL;</p><p>  Node *q=NULL;</p><p>  for(p=first->next;p->next;p=p->next)</p><p>  for (q=p->next;q;q

76、=q->next)</p><p><b>  {</b></p><p>  if (p->Data.GetPrio()>q->Data.GetPrio())</p><p><b>  {</b></p><p><b>  PCB tmp;</b>

77、</p><p>  tmp=p->Data;</p><p>  p->Data=q->Data;</p><p>  q->Data=tmp;</p><p><b>  }</b></p><p><b>  }</b></p>&

78、lt;p><b>  }</b></p><p>  void Queue::Clear()</p><p><b>  {</b></p><p>  while(first->next!=NULL)</p><p><b>  {</b></p>

79、<p>  Node *tmp=first->next;</p><p>  first->next=tmp->next;</p><p>  delete tmp;</p><p><b>  }</b></p><p><b>  }</b></p>&

80、lt;p>  CString Queue::GetGoneTime()</p><p><b>  {</b></p><p>  CString tmp;</p><p>  CString Ret;</p><p>  Node *p =first->next;</p><p> 

81、 int time=0;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  tmp.Format("進(jìn)程名:%s,周轉(zhuǎn)時(shí)間:%d\r\n",p->Data.GetName(),p->Data.GetGoneTime());<

82、;/p><p>  time+=p->Data.GetGoneTime();</p><p><b>  Ret+=tmp;</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  tmp.Format("

83、;平均周轉(zhuǎn)時(shí)間:%.2f",(float)(time/GetLength()));</p><p><b>  Ret+=tmp;</b></p><p>  return Ret;</p><p><b>  }</b></p><p>  Node* Queue::GetFirstPt

84、r()</p><p><b>  {</b></p><p>  return first;</p><p><b>  }</b></p><p>  四:程序設(shè)計(jì)與實(shí)現(xiàn)。</p><p><b>  流程圖</b></p><p

85、><b>  實(shí)驗(yàn)結(jié)果:</b></p><p>  五:收獲,體會(huì)和建議</p><p>  本次課程設(shè)計(jì)讓我更加深刻的理解了操作系統(tǒng)的處理機(jī)調(diào)度算法,對(duì)進(jìn)程間的調(diào)度有了較為深刻的看法,加強(qiáng)了對(duì)教材的理解,并且?guī)椭约簭?fù)習(xí)了MFC的有關(guān)知識(shí),對(duì)C++也能更加熟練的使用。本次實(shí)驗(yàn)讓我自己再次認(rèn)識(shí)到動(dòng)手實(shí)驗(yàn)的重要性,理論研究的再透徹,也必須通過(guò)實(shí)踐來(lái)引導(dǎo),只有不斷

86、動(dòng)手做實(shí)驗(yàn),才能加強(qiáng)對(duì)程序設(shè)計(jì)的理解,多動(dòng)手才能積累經(jīng)驗(yàn),平時(shí)遇到的錯(cuò)誤耐心查找資料一個(gè)個(gè)解決,下一次再遇到時(shí)能夠輕松解決,在以后的學(xué)習(xí)過(guò)程中,一定要加強(qiáng)自己的動(dòng)手能力,充分利用自己手頭的資源,養(yǎng)成多動(dòng)手寫(xiě)代碼的好習(xí)慣。</p><p>  六:參考資料和書(shū)籍。</p><p>  《MFC程序設(shè)計(jì)》 -----Jeff Prosise</p><p>  《操

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論