替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将 f(p)所对应的字符进行替代。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
注意:部分程序已经给出。请勿改动主函数main()、读数据函数RData()和输出数据函数 WData()的内容。
include <stdio.h>
include <string.h>
include <conio.h>
include <ctype.h>
unsigned char str[50] [80];
int maxline = 0; /* 文章的总行数 */
int RData (void);
void WData (void);
void encryptChar()
{
}
void main ()
{ if (RData())
{ printf("数据文件 IN. dst 不能打开! /n/007");
return;
}
encryptChar ();
WData ();
}
int RData (void)
{ FILE *fp;
int i = 0;
unsigned char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(str[i], 80, fp) != NULL)
{ p = strchr(str[i], '/n');
if (p)
*p =0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void WData(void)
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
for (i=0; i<maxline; i++)
{ printf ("%s/n", str[i]);
fprintf(fp, "%s/n", str[i]);
}
fclose (fp);
}
[试题]函数Rdata实现从文件in.dat中读取一篇英文文章存入到字符串数组string中,请编写函数CharLeft,其功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组string中,最后调用函数Wdata,把结果string输出到文件out.dat中。 原始数据文件存放的
[试题]函数RData实现从文件in.dat中读取一篇英文文章存入到字符串数组original中,请编写函数StrCharMove,其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组0riginal中,最后调用函数 WData,把结果0riginal输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格
[试题]函数Rdata实现从文件in.dat中读取一篇英文文章,存入到字符串数组string中,请编写函数CharRight,其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位后加倒数第二个字符的ASCII值,得到最后一个新的字符,倒数第二个字符的ASCII值右移4位后加倒数第三个字符的ASCII值,得到倒数第二个新的字符,依此类推,一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理
[主观题]函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组)xx中;请编制函数encryptChat,按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat把结果XX输出到文件 out.dat中。 替代关系:f(p)=p*11 mod 256,mod为取余运算,p是数组)xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9
[试题]函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat把结果XX输出到文件 out.dat中。 替代关系:f(p)=p*[3 mod 256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或是偶数,则该字符不变,否则用f(p)
[试题]函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z,其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。例:原文:Adb.Bcdza abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:每行的宽度均小于8
[试题]函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。 例:原文:dAe,BfC. CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.C文件中。 请勿
[试题]函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数CharConvA,其函数的功能是:以该文章中的行为单位把字符串中的最后一个字符的ASCII值右移4位二进制位,高位补0后加倒数第二个字符的 ASCII值,得到最后一个新的值,倒数第二个字符的ASCII值右移4位二进制位,高位补0后加倒数第三个字符的ASCII值,得到倒数第二个新的值,以此类推一直处理到第二个字符。注意:第一个新的值与上述处理不同,第一个字符的ASCII值加原最后一个字符的ASCII值,得到
[主观题]函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数StrOL,其函数的功能是: 以读入文章的行为单位,以空格或标点符号(数据文件中仅含’,’或’.’作为标点符号)作为分隔符,对行中所有单词进行倒排, 单词间仍以空格作为分隔符,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组XX中。最后main函 数调用函数wmeDat把结果XX输出到文件0ut.dat中。提示:对于每一行字符串可以先提取最后一个单词,再提取倒数第二个单词,直至第一个单词,单
[试题]函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组XX中。最后 main函数调用函数WriteOat把结果XX输出到文件out.dat中。 例如: ”z”对应的ASCII值为7AH,二进制值为01111010,右