首頁(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ǔ)
專(zhuān)四專(zhuān)八
博思考試
零起點(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) 員
外 銷(xiāo) 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問(wèn)
管理咨詢
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書(shū)資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢
營(yíng) 銷(xiāo) 師
司法考試
國(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í)網(wǎng)絡(luò)技術(shù)上機(jī)題及答案(3)

  函數(shù)ReadDat( )的功能是實(shí)現(xiàn)從文件IN63.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請(qǐng)編制函數(shù)StrCharJL( ),該函數(shù)的功能是:以行為單位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,則原字符保持不變,否則就把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍存入到原字符串對(duì)應(yīng)的位置。最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat( )把結(jié)果xx輸出到文件OUT63.DAT中。

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

  原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符,含標(biāo)點(diǎn)符號(hào)和空格。

  請(qǐng)勿改動(dòng)主函數(shù)main( )、讀函數(shù)ReadDat( )和寫(xiě)函數(shù)WriteDat( )的內(nèi)容。

  試題程序:

  #include

  #include

  #include

  char xx[50][80];

  int maxline=0;

  int ReadDat(void);

  void WriteDat(void);

  void StrCharJL(void)

  {

  }

  void main()

  {

  system("CLS");

  if(ReadDat())

  {

  printf("數(shù)據(jù)文件IN63.DAT不能打開(kāi)\n\007");

  return;

  }

  StrCharJL();

  WriteDat();

  }

  int ReadDat(void)

  {

  FILE *fp;

  int i=0;

  char *p;

  if((fp=fopen("IN63.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("OUT63.DAT","w");

  for(i=0;i

  {

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

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

  }

  fclose(fp);

  }

  【答案】

  void StrCharJL(void)

  {

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

  int str; /*用來(lái)存儲(chǔ)每行字符串的長(zhǎng)度*/

  char ch; /*保存當(dāng)前取得的字符*/

  for(i=0;i

  {

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

  for(j=0;j

  {

  ch=xx[i][j];  

  /*獲取當(dāng)前字符*/

  if(ch<<4 <=32 || ch<<4 >100)

  continue;

  /*如果左移4位后字符的ASCII值小于等于32或大于100,則原字符保持不變*/

  else

  xx[i][j]+=ch<<4; /*否則把左移后的字符ASCII值加上原字符的ASCII值*/

  }

  }

  }

  【解析】利用雙重循環(huán)按照先行后列的順序逐個(gè)取得數(shù)組中的字符,外層循環(huán)用來(lái)控制行數(shù),內(nèi)層循環(huán)用來(lái)依次取得各行中的每一個(gè)字符。循環(huán)內(nèi)部用一個(gè)if語(yǔ)句判斷當(dāng)前字符的ASCII碼左移4位后是否滿足小于等于32或者大于100的條件,如果滿足,則該字符保持不變,否則就把左移后的字符ASCII值加上原字符的ASCII值,作為得到的新字符,存入當(dāng)前位置。

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