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

2013年9月計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)練習(xí)題及答案(15)

  N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。

  注意: 部分源程序在文件PROG1.C文件中。

  請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。

  給定源程序:

  #include

  #include

  #define N 8

  struct slist

  { double s;

  struct slist *next;

  };

  typedef struct slist STREC;

  double fun( STREC *h )

  {

  }  

  STREC * creat( double *s)

  { STREC *h,*p,*q; int i=0;

  h=p=(STREC*)malloc(sizeof(STREC));p->s=0;

  while(i

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

  q->s=s[i]; i++; p->next=q; p=q;

  }

  p->next=0;

  return h;

  }

  outlist( STREC *h)

  { STREC *p;

  p=h->next; printf("head");

  do

  { printf("->%2.0f",p->s);p=p->next;}

  while(p!=0);

  printf("\n\n");

  }

  main()

  { double s[N]={85,76,69,85,91,72,64,87}, max;

  STREC *h;

  h=creat( s ); outlist(h);

  max=fun( h );

  printf("max=%6.1f\n",max);

  NONO();

  }

  解題思路:

  本題是考察如何從鏈表中求出學(xué)生的最高分。

  我們給出的程序是利用while循環(huán)語(yǔ)句以及臨時(shí)結(jié)構(gòu)指針p變量來求出最高分。

  1. 將鏈表中的第1個(gè)值賦給變量max。

  2. 將鏈表指針p的初始位置指向h的next指針(h->next)。

  3. 判斷p指針是否結(jié)束,如果結(jié)束,則返回max,否則做下一步。

  4. 判斷max是否小于p->s,如果小于,則max取p->s,否則不替換。

  5. 取p->next賦值給p(取下一結(jié)點(diǎn)位置給p),轉(zhuǎn)3繼續(xù)。

  參考答案:

  double fun( STREC *h )

  {

  double max=h->s;

  STREC *p;

  p=h->next;

  while(p)

  { if(p->s>max )

  max=p->s;

  p=p->next;

  }

  return max;

  }

  STREC * creat( double *s)

  { STREC *h,*p,*q; int i=0;

  h=p=(STREC*)malloc(sizeof(STREC));p->s=0;

  while(i

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

  q->s=s[i]; i++; p->next=q; p=q;

  }

  p->next=0;

  return h;

  }

  outlist( STREC *h)

  { STREC *p;

  p=h->next; printf("head");

  do

  { printf("->%2.0f",p->s);p=p->next;}

  while(p!=0);

  printf("\n\n");

  }

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。