首頁(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)檢員
法律顧問(wèn)
管理咨詢
企業(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ì)職稱
法律顧問(wèn)
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)

  程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門課的成績(jī)。所 有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到student.dat文件中。函數(shù)fun的功能是從指定 文件中找出指定學(xué)號(hào)的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對(duì)該生的分?jǐn)?shù)進(jìn)行修改,使 每門課的分?jǐn)?shù)加3分,修改后重寫文件中該學(xué)生的數(shù)據(jù),即用該學(xué)生的新數(shù)據(jù)覆蓋 原數(shù)據(jù),其它學(xué)生數(shù)據(jù)不變;若找不到,則什么都不做。 請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

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

  不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

  給定源程序:

  #include

  #define N 5

  typedef struct student {

  long sno;

  char name[10];

  float score[3];

  } STU;

  void fun(char *filename, long sno)

  { FILE *fp;

  STU n; int i;

  fp = fopen(filename,"rb+");

  while (!feof(__1__))

  { fread(&n, sizeof(STU), 1, fp);

  if (n.sno__2__sno) break;

  }

  if (!feof(fp))

  { for (i=0; i<3; i++) n.score[i] += 3;

  fseek(__3__, -1L*sizeof(STU), SEEK_CUR);

  fwrite(&n, sizeof(STU), 1, fp);

  }

  fclose(fp);

  }

  main()

  { STU t[N]={ {10001,"MaChao", 91, 92, 77}, {10002,"CaoKai", 75, 60, 88},

  {10003,"LiSi", 85, 70, 78}, {10004,"FangFang", 90, 82, 87},

  {10005,"ZhangSan", 95, 80, 88}}, ss[N];

  int i,j; FILE *fp;

  fp = fopen("student.dat", "wb");

  fwrite(t, sizeof(STU), N, fp);

  fclose(fp);

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

  fp = fopen("student.dat", "rb");

  fread(ss, sizeof(STU), N, fp);

  fclose(fp);

  for (j=0; j

  { printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);

  for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);

  printf("\n");

  }

  fun("student.dat", 10003);

  fp = fopen("student.dat", "rb");

  fread(ss, sizeof(STU), N, fp);

  fclose(fp);

  printf("\nThe data after modifing :\n");

  for (j=0; j

  { printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);

  for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);

  printf("\n");

  }

  }

  解題思路:

  本題是考察如何從指定文件中找出指定學(xué)號(hào)的學(xué)生數(shù)據(jù),并進(jìn)行適當(dāng)?shù)男薷模薷暮笾匦聦懟氐轿募性搶W(xué)生的數(shù)據(jù)上,即用該學(xué)生的新數(shù)據(jù)覆蓋原數(shù)據(jù)。

  第一處:判斷讀文件是否結(jié)束,所以應(yīng)填:fp。

  第二處:從讀出的數(shù)據(jù)中判斷是否是指定的學(xué)號(hào),其中學(xué)號(hào)是由形參sno來(lái)傳遞的,所以應(yīng)填:==。

  第三處:從已打開文件fp中重新定位當(dāng)前讀出的結(jié)構(gòu)位置,所以應(yīng)填:fp。

文章搜索
版權(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)注明出處。