首頁考試吧論壇Exam8視線考試商城網(wǎng)絡課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓 自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網(wǎng)絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產(chǎn)評估師
審計師考試
高級會計師
注冊稅務師
國際內審師
理財規(guī)劃師
美國注冊會計師
一級建造師
安全工程師
設備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
咨詢工程師
結構工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學習 作文大全 求職招聘 論文下載 訪談|游戲
計算機等級考試
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級 > C語言 > 上機題庫 > 正文

2013年9月計算機二級C語言上機練習題及答案(11)

來源:考試吧 2013-5-15 10:50:28 考試吧:中國教育培訓第一門戶 模擬考場

  給定程序中,函數(shù)fun的功能是將帶頭結點的單向鏈表逆置。即若原鏈表中從頭至尾結點數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結點數(shù)據(jù)域依次為:

  10、8、6、4、2。

  請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。

  注意:源程序存放在考生文件夾下的BLANK1.C中。

  不得增行或刪行,也不得更改程序的結構!

  給定源程序:

  #include

  #include

  #define N 5

  typedef struct node {

  int data;

  struct node *next;

  } NODE;

  void fun(NODE *h)

  { NODE *p, *q, *r;

  /

  p = h->__1__;

  /

  if (p==__2__) return;

  q = p->next;

  p->next = NULL;

  while (q)

  { r = q->next; q->next = p;

  p = q; q = __3__;

  }

  h->next = p;

  }

  NODE *creatlist(int a[])

  { NODE *h,*p,*q; int i;

  h = (NODE *)malloc(sizeof(NODE));

  h->next = NULL;

  for(i=0; i

  { q=(NODE *)malloc(sizeof(NODE));

  q->data=a[i];

  q->next = NULL;

  if (h->next == NULL) h->next = p = q;

  else { p->next = q; p = q; }

  }

  return h;

  }

  void outlist(NODE *h)

  { NODE *p;

  p = h->next;

  if (p==NULL) printf("The list is NULL!\n");

  else

  { printf("\nHead ");

  do

  { printf("->%d", p->data); p=p->next; }

  while(p!=NULL);

  printf("->End\n");

  }

  }

  main()

  { NODE *head;

  int a[N]={2,4,6,8,10};

  head=creatlist(a);

  printf("\nThe original list:\n");

  outlist(head);

  fun(head);

  printf("\nThe list after inverting :\n");

  outlist(head);

  }

  解題思路:

  本題是考察使用鏈表方法,對鏈表的結點數(shù)據(jù)進行降序排列。

  第一處:使用結構指針p,來控制鏈表的結束,p必須指向h結構指針的next指針,來定位p的初始位置。所以應填寫:h->next。

  第二處:判斷p指針是否結束,所以應填寫:0。

  第三處:q指向原q的next指針,所以應填:r。

1 2 3 4 下一頁
文章搜索
版權聲明:如果計算機等級考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網(wǎng)內容,請注明出處。