就业数据资源平台
当前位置:首页 > 网络技术
2012年计算机三级网络技术考试上机练习题14

题目48字符型题

函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中


void StrOR(void)


{int i,righto,j,s,k;


 char tem[80];


 for(i=0;i

for(j=strlen(xx[i])-1;j>=0;j--) 


      {  k=0;
memset(tem,0,80);//初始化数组tem;


        if(xx[i][j]=='o')


          {righto=j; 


         for(s=righto+1;s

tem[k++]=xx[i][s];


for(s=0;s

 if(xx[i][s]!='o')


tem[k++]=xx[i][s];   


strcpy(xx[i],tem);


          }


     else


continue;


       }



}


********书上答案*************



void StrOR(void)


{


   int i,j,k,index,strl;


   char ch;


 


   for(i=0;i

    {


      strl=strlen(xx[i]);


      index=strl;


      for(j=0;j

       if(xx[i][j]=='o')


       {


          for(k=j;k

             xx[i][k]=xx[i][k+1];


          xx[i][strl-1]= ' ';


          index=j;


        }


       for(j=strl-1;j>=index;j--)


       {


         ch=xx[i][strl-1];


         for(k=strl-1;k>0;k--)


            xx[i][k]=xx[i][k-1];


         xx[i][0]=ch;


       }


  }


}


★题目49(字符处理——倒序输出)


函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。


    例如:原文:You He Me


                I am a student.


     结果:Me He You


                student a am I


void StrOL(void)


{ int i,j,k,s,m,strl;


  char str[80];


  for(i=0;i

   { strl=strlen(xx[i]);


memset(str,0,80);  中 华 考 试 网


   s=k=0;


for(j=strl-1;j>=0;j--)  


   { if(isalpha(xx[i][j])) k++; 


    else { for(m=1;m<=k;m++)



 str[s++]=xx[i][j+m];


                k=0;    


           }


          if(!isalpha(xx[i][j]))


str[s++]=' ';


          }


for(m=1;m<=k;m++) 


      str[s++]=xx[i][j+m];


str[s]='\0';   


 strcpy(xx[i],str);   }



}



★题目50(字符排序题)


函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。


  例如:位置   0 1 2 3 4 5 6 7 


     源字符串 a  b  c  d  e  f  g  h


    则处理后字符串  a  h  c  f  e  d  g  bwww.ExamW.CoM


 void jsSort()


{int i,j,k,strl;


 char ch;


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


  { strl=strlen(xx[i]);


    for(j=1;j

      for(k=j+2;k

         if(xx[i][j]>xx[i][k])  { ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}


  }


}


★☆题目51(替换字符题)


函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。


    例:原文:Adb.Bcdza


              abck.LLhj


        结果:Aec.Bdeab


              bcdl.LLik


   void ConvertCharA(void)中华考试网(www.Examw。com)


{ int i,j;


  for(i=0;i

    { for(j=0;j

       if(xx[i][j]=='z') xx[i][j]='a';


        else if(xx[i][j]>='a'&&xx[i][j]<='y') xx[i][j]+=1;


    }


}


☆题目52(亲朋字符替换题)


函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.


    void ChA(void)


{ int i,j;


  char ch;


  for(i=0;i

   { ch=xx[i][0];


     for(j=0;j

       xx[i][j]+=xx[i][j+1];


     xx[i][strlen(xx[i])-1]+=ch;


     strrev(xx[i]);   //进行逆转


   }


}

就业数据资源平台