关于三级网络的上机问题请教
文件IN.DAT中存有一篇英文文章,函数readData()负责将IN.DAT中的数据读到数组inBuf[]中。请编制函数replaceChar(),该函数的功能是按照指定规则对字符进行替换。变换后的值仍存入数组inBuf[]中。函数writeData()负责将inBuf[]中的数据输出到文件OUT.DAT中,并且在屏幕上输出。替换规则为:先对字符的ASCII码值按公式y=a*11 mod 256进行运算(a为某一字符的ASCII码值,y为变换后的ASCII码值),如果原字符的ASCII码值是偶数或计算后y的值小于等于32,则字符保持不变,否则用y对应的字体代替。
我编的:如下
void replaceChar()
{
int i,j,str;
char y;
for(i=0;i<totleLine;i++)
{
str=strlen(inBuf[i]);
for(j=0;j<str;j++)
{
if(inBuf[i][j]*11%256<=32||inBuf[i][j]%2==0) continue;
else inBuf[i][j]=inBuf[i][j]*11%256; //按照件来转换
}
}
}
答案:void replaceChar()
{
int i,j,str;
char y;
for(i=0;i<totleLine;i++)/*以行为单位获取字符*/
{
str=strlen(inBuf[i]);/*求当前行字符串的长度*/
for(j=0;j<str;j++)/*依次取每行的各字符*/
{
y=inBuf[i][j]*11%256;/*按照指定的规则求出y*/
if(y<=32‖inBuf[i][j]%2==0)
continue;
else
inBuf[i][j]=y;/*按要求转换*/
}
}
} 运行与答案的不同,错在哪里啊