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

☆题目73(字符替换题)


函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。


  替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。


  void encryptChar()


{ int i,j;


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


   for(j=0;j<strlen(xx[i]);j++)


    if(xx[i][j]*11%256<=32||xx[i][j]>='a'&&xx[i][j]<='z') continue;


    else xx[i][j]=xx[i][j]*11%256;


}


★题目74(字符替换题)


函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。


  替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。


  void encryptChar()


{ int i,j;


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


   for(j=0;j<strlen(xx[i]);j++)


    if(xx[i][j]*11%256<=32||xx[i][j]>='0'&&xx[i][j]<='9') continue;


    else xx[i][j]=xx[i][j]*11%256;


}


★题目75(字符替题)


  函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。


  替代关系:f(p)=p*17 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。


  void encryptChar()


{ int i,j;


  for(i=0;i<maxline;i++)自www.Examw.com


   for(j=0;j<strlen(xx[i]);j++)


    if(xx[i][j]*17%256<=32||(xx[i][j]*17%256)%2!=0) continue;


    else xx[i][j]=xx[i][j]*17%256;


}


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


函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数CharConvA(),其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位,高位补0后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位,高位补0后加最后第三个字符的ASCII值,得到最后第二个新的字符,依此类推一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT10.DAT中。


    void CharConvA()


{ int i,j;


  char p,c;


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


    { p=xx[i][strlen(xx[i])-1];


      c=xx[i][0];


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


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


      xx[i][0]=p+c; 


    }


}


☆题目77(结构体操作题)


已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。


void SortDat()


{int i,j;


 PRO xy;中华考试


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


  for(j=i+1;j<100;j++)


   if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je<sell[j].je)


     {xy=sell[i]; sell [i]=sell[j]; sell[j]=xy;}


}

就业数据资源平台