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

2013年9月計算機等考三級網絡技術上機題及答案(2)

來源:考試吧 2013-4-22 16:27:43 考試吧:中國教育培訓第一門戶 模擬考場

  函數ReadDat() 的功能是實現從文件IN62.DAT中讀取一篇英文文章存入到字符串數組xx中;請編制函數StrCharJP(),該函數的功能是:以行為單位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串對應的位置上。最后把已處理的字符串按行重新存入字符串數組xx中,并調用函數WriteDat()把結果xx輸出到文件OUT62.DAT中。

  原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格。

  注意:部分源程序已給出。

  請勿改動主函數main()、讀函數ReadDat()和寫函數WriteDat()的內容。

  試題程序:

  #include

  #include

  #include

  char xx[50][80];

  int maxline = 0; /* 文章的總行數 */

  int ReadDat(void);

  void WriteDat(void);

  void StrCharJR(void)

  {

  }

  void main()

  {

  system("CLS");

  if(ReadDat())

  {

  printf("數據文件IN62.DAT不能打開!\n\007");

  return;

  }

  StrCharJR();

  WriteDat();

  }

  int ReadDat(void)

  {

  FILE *fp;

  int i= 0;

  char *p;

  if ((fp = fopen("IN62.DAT","r")) ==NULL) return 1;

  while(fgets(xx[i], 80, fp) !=NULL)

  {

  p = strchr(xx[i], '\n');

  if(p) *p = 0;

  i++;

  }

  maxline = i;

  fclose(fp);

  return 0;

  }

  void WriteDat(void)

  {

  FILE *fp;

  int i;

  system("CLS");

  fp = fopen("OUT62.DAT", "w");

  for(i = 0; i < maxline; i++)

  {

  printf("%s\n", xx[i]);

  fprintf(fp, "%s\n", xx[i]);

  }

  fclose(fp);

  }

  【答案】

  void StrCharJR(void)

  {

  int i,j; /*定義循環(huán)控制變量*/

  int str; /*存儲字符串的長度*/

  for(i=0;i

  {

  str=strlen(xx[i]); /*求得當前行的字符串長度*/

  for(j=0;j

  xx[i][j]+=xx[i][j]>>4;

  /*字符的ASCII值右移4位再加上原字符的ASCII值,得到新字符*/

  }

  }

  【解析】本題考查對二維字符數組元素的操作。

  首先可以利用雙重循環(huán)按照先行后列的順序逐個取得數組中的字符,外層循環(huán)用來控制行數,內層循環(huán)用來依次取得各行中的每一個字符。

  之后對當前所取得的字符進行右移4位的運算(這里用到了">>"右移運算符),最后把移后得到的字符累加到原字符中去,這樣原來字符就可以被新的字符所覆蓋。

1 2  下一頁
文章責編:wuchong  
看了本文的網友還看了
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。