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

2013年9月計算機等考三級網(wǎng)絡(luò)技術(shù)上機題及答案(4)

  函數(shù)ReadDat( )的功能是實現(xiàn)從文件IN64.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請編制函數(shù)CharConvA( ),該函數(shù)的功能是:以行為單位把字符串的最后一個字符ASCII值右移4位后加最后第二個字符的ASCII值,得到最后一個新的字符,最后第二個字符的ASCII值右移4位后加最后第三個字符的ASCII值,得到最后第二個新的字符,以此類推一直處理到第二個字符,第一個字符的ASCII值加最后一個字符的ASCII值,得到第一個新的字符,得到的新字符分別存放在原字符串對應(yīng)的位置上,把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat( )把結(jié)果xx輸出到文件OUT64.DAT中。

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

  原始文件存放的格式是:每行的寬度小于80個字符,含標(biāo)點符號和空格。

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

  試題程序:

  #include

  #include

  #include

  char xx[50][80];

  int maxline=0;

  int ReadDat();

  void WriteDat();

  void CharConvA(void)

  {

  }

  void main()

  {

  system("CLS");

  if (ReadDat())

  {

  printf("數(shù)據(jù)文件IN64.DAT不能打開!\n\007");

  return;

  }

  CharConvA( );

  WriteDat();

  }

  int ReadDat(void)

  {

  FILE *fp;

  int i=0;

  char *p;

  if((fp=fopen("IN64.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()

  {

  FILE *fp;

  int i;

  system("CLS");

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

  for(i=0;i

  {

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

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

  }

  fclose(fp);

  }

  【答案】

  void CharConvA(void)

  {

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

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

  char ch; /*暫存最后一個字符*/

  for(i=0;i

  {

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

  ch=xx[i][str-1]; /*將最后一個字符暫存入ch*/

  for(j=str-1;j>0;j--) /*從最后一個字符開始,直到第二個字符*/

  xx[i][j]=(xx[i][j]>>4)+xx[i][j-1];

  /*當(dāng)前字符ASCII值右移4位加前一個字符的ASCII值,得到新的當(dāng)前字符*/

  xx[i][0]+=ch;

  /*第一個字符的ASCII值加最后一個字符的ASCII值,得到新的第一個字符*/

  }

  }

  【解析】本題考查的是二維數(shù)組的訪問。

  首先保存最后一個字符,利用for循環(huán)由后向前逆序訪問數(shù)組中的字符。

  將當(dāng)前獲取字符的ASCII值右移4位加前一個字符的ASCII值,得到新的當(dāng)前字符。

  最后,將第一個字符的ASCII值加上保存的最后一個字符的ASCII值,得到新的第一個字符。

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