100题第16题
16:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。
-----------------------
void StrCharJR(void)
{
int I,j,strl;
for(I=0;I<maxline;I++) /*行数循环*/
{
strl=strlen(xx[I]);
for(j=0;j<strl;j++) /*列数循环*/
xx[I][j]+=xx[I][j]>>4; /*字符串矩阵赋值,>>是位运算符,此处是右移。*/
}
}