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

★☆题目53(字符串排序题)


函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。


    例:原文:dAe,BfC.


              CCbbAA


        结果:fedCBA.


              bbCCAA


   void SortCharD(void)


{int i,j,k,strl;


 char ch;


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


  {strl=strlen(xx[i]);


   for(j=0;j<strl-1;j++)


    for(k=j+1;k<strl;k++) 


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


        {ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;}


  }


}


☆题目54(字符串字母移位题) 


程序prog1.c的功能是:把 s 字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。


    请考生编写函数chg(char  *s)实现程序要求,最后调用函数readwriteDAT( )把结果输出到文件bc1.out中。


    例如:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。


void chg(char *s)


{int I;


for(I=0;I<strlen(s);I++)


 if(s[i]=='z'||s[i]=='Z')  s[i]-=25; 


 else if(s[i]>='a'&&s[i]<='y'||s[i] >='A'&&s[i]<='Y') s[i]+=1;


  }


★☆题目55(字符串左右排序交换题 ) 


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


  条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。


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


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


                   1  2  3  4  9  8  7  6  5


    则处理后字符串  h  g  f  e  d  c  b  a


                   8  7  6  5  9  4  3  2  1


void jsSort()


{ int i,j,k,strl,half;


  char temp;


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


   { strl=strlen(xx[i]);


     half=strl/2;


     for(j=0;j<half-1;j++)


       for(k=j+1;k<half;k++)


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


           { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}


     for(j=half-1,k=strl-1;j>=0;j--,k--)


       { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}


   }


}


题目56(字符串左右排序交换题 )


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


  条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。


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


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


                    4  3  2  1  9  8  7  6  5 


    则处理后字符串  h  g  f  e  a  b  c  d


                    8  7  6  5  9  1  2  3  4


            A  b c d  h  g  f  e中华考试网(www.Examw。com)


            1  2 3 4  9  8  7  6  5


void jsSort()


{ int i,j,k,strl,half;


  char temp;


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


   { strl=strlen(xx[i]);


     half=strl/2;


     for(j=0;j<half-1;j++)


       for(k=j+1;k<half;k++)


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


           { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}


     for(j=half-1,k=strl-1;j>=0;j--,k--)


       { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp;}


   }


}


★题目57(字符串移位题)


程序prog1.c的功能是:把 s 字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char *s)实现程序要求,最后调用函数readwriteDAT( )把结果输出到bc2.out文件中。


    例如:s字符串中原有内容为:Mn.123xyZ,则调用该函数后,结果为:n.123xyZM。


   void chg(char *s)www.ExamW.CoM


{ int i;


  char ch=*s;//换成:ch=s[0];


  for(i=0;i<strlen(s)-1;i++)


    s[i]=s[i+1];


  s[strlen(s)-1]=ch;


}

就业数据资源平台