av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

試題

3月三級網(wǎng)絡技術(shù)上機題及答案

時間:2025-05-18 23:31:35 試題 我要投稿
  • 相關(guān)推薦

2016年3月三級網(wǎng)絡技術(shù)上機題及答案

  1.函數(shù)ReadDat( )的功能是實現(xiàn)從文件IN73.DAT中讀取一篇英文文章存入到字符串數(shù)組xx中。請編制函數(shù)SortCharA( ),該函數(shù)的功能是:以行為單位對字符按從小到大的順序進行排序,排序后的結(jié)果仍按行重新存入字符串數(shù)組xx中。最后調(diào)用函數(shù)WriteDat( )把結(jié)果xx輸出到文件OUT73.DAT中。

  例如,原文:dAe,BfC

  CCbbAA

  結(jié)果:ABCdef

  AACCbb

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

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

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

  試題程序:

  #include

  #include

  #include

  char xx[50][80];

  int maxline=0;

  int ReadDat(void);

  void WriteDat(void);

  void SortCharA()

  {

  }

  void main()

  {

  system("CLS");

  if (ReadDat())

  {

  printf("數(shù)據(jù)文件IN73.DAT不能打開!n07");

  return;

  }

  SortCharA();

  WriteDat();

  }

  int ReadDat(void)

  {

  FILE *fp;

  int i=0;

  char *p;

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

  for(i=0;i

  {

  printf("%sn",xx[i]);

  fprintf(fp,"%sn",xx[i]);

  }

  fclose(fp);

  }

  【答案】

  void SortCharA()

  {

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

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

  char temp; /*數(shù)據(jù)交換時的暫存變量*/

  for (i=0;i

  {

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

  for(j=0;j

  for(k=j+1;k<>

  if (xx[i][j]>xx[i][k])

  {

  temp=xx[i][j];

  xx[i][j]=xx[i][k];

  xx[i][k]=temp;

  }

  }

  }

  【解析】本題主要考查數(shù)組的訪問及排序問題。

  通過雙重循環(huán)結(jié)構(gòu)逐行獲取字符進行處理,首先使用字符串處理函數(shù)strlen()來求出每一行的字符串長度。然后運用選擇法逐行對字符按照從小到大的順序進行排序。

  2.編寫一個函數(shù)findStr( ),該函數(shù)統(tǒng)計一個長度為2的字符串在另一個字符串中出現(xiàn)的次數(shù)。例如,假定輸入的字符串為"asd asasdfg asd as zx67 asd mklo",子字符串為"as",函數(shù)返回值是6。

  函數(shù)ReadWrite( )的功能是實現(xiàn)從文件in68.dat中讀取兩個字符串,并調(diào)用函數(shù)findStr(),最后把結(jié)果輸出到文件out68.dat中。

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

  請勿改動主函數(shù)main() 和其他函數(shù)中的任何內(nèi)容,僅在函數(shù) findStr()的花括號中填入你所編寫的若干語句。

  試題程序:

  #include

  #include

  #include

  void ReadWrite();

  int findStr(char *str,char *substr)

  {

  }

  void main()

  {

  char str[81],substr[3];

  int n;

  system("CLS");

  printf("輸入原字符串:");

  gets(str);

  printf("輸入子字符串:");

  gets(substr);

  puts(str);

  puts(substr);

  n=findStr(str,substr);

  printf("n=%dn",n);

  ReadWrite();

  }

  void ReadWrite()

  {

  char ch,str[81],substr[3];

  int n,len,i=0;

  FILE *rf,*wf;

  rf=fopen("in68.dat","r");

  wf=fopen("out68.dat","w");

  while(i<>

  {

  fgets(str,80,rf);

  fgets(substr,10,rf);

  len=strlen(substr)-1;

  ch=substr[len];

  if(ch=='n'||ch==0x1a)

  substr[len]=0;

  n=findStr(str,substr);

  fprintf(wf,"%dn",n);

  i++;

  }

  fclose(rf);

  fclose(wf);

  }【答案】

  int findStr(char *str,char *substr)

  {

  int n=0; /*定義計數(shù)器變量,統(tǒng)計出現(xiàn)次數(shù)*/

  char *p,*r; /*定義指針變量來分別指向兩個字符串*/

  while(*str) /*如果字符串沒有結(jié)束,則一直循環(huán)下去*/

  {

  p=str; /*指針p指向字符串首地址*/

  r=substr; /*指針r指向子字符串首地址*/

  while(*r) /*若子字符串沒有結(jié)束,則循環(huán)繼續(xù)*/

  if(*r==*p)

  /*如果子字符串的第一個字符等于字符串中的該字符,則繼續(xù)比較下一個字符*/

  {

  r++;

  p++;

  }

  else

  break; /*否則退出循環(huán)*/

  if(*r=='') /*如果子字符串在字符串中出現(xiàn)了一次*/

  n++; /*則n加1,進行統(tǒng)計*/

  str++; /*指向字符串中的下一個字符*/

  }

  return n; /*返回統(tǒng)計結(jié)果n*/

  }

  【解析】本題主要考查了指針的相關(guān)操作。

  首先,通過外層的while循環(huán)取字符串的每一個字符,取完字符串的所有字符之后,循環(huán)才會終止。用兩個字符型指針分別指向兩個字符串。逐個將字符串的字符跟子字符串的字符對比,如果相等,則兩個指針都自加1,分別指向兩個串的下一個字符。若不相等,則主串的指針加1,子串的指針重新指向起始位置,繼續(xù)比較下一個字符。

【3月三級網(wǎng)絡技術(shù)上機題及答案】相關(guān)文章:

2016最新三級網(wǎng)絡技術(shù)上機題及答案05-06

2016年三級網(wǎng)絡技術(shù)上機題及答案02-28

2016計算機三級網(wǎng)絡技術(shù)上機題及答案07-28

2017計算機三級《網(wǎng)絡技術(shù)》上機操作題及答案07-20

2016計算機考試三級網(wǎng)絡技術(shù)上機題及答案03-07

2016最新三級網(wǎng)絡技術(shù)上機試題及答案02-20

2016全國三級網(wǎng)絡技術(shù)上機試題及答案06-05

計算機三級網(wǎng)絡技術(shù)上機題庫及答案05-13

2016年3月計算機三級網(wǎng)絡技術(shù)上機題及答案12-22