 | 函数RData()实现从文件IN.dat中篡夺一篇英文文章,存入到字符串数组str中;请编写encryptChar()函数,其功能是:按给定的替代关系对数组str中的所有字符进行替代,仍存入数组str对应的位置上,最后挪用函数WData(),把结不美观str输出到文件OUT.dat中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计较后新字符的ASCII值),如不美观计较后f(p)值小于1等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。 原始数据文件存放的名目是:每行的宽度均小于80个字符。 【谜底】 void encryptChar() { int i; char *pf; for (i=0; i { pf = str; while (*pf != 0) { if (*pf*11%256<=130 ;; *pf*11%256>32) *pf = *pf*11%256; pf++; } } } 5.函数RData()实现从文件IN.dat中篡夺一篇英文文章存入到字符串数组str中,请编写函数DescSort(),其功能是:以行为单元对字符按从大到小的挨次进行排序,排序后的结不美观仍按行从头存入字符串数组str中,最后挪用函数WData(),把结不美观str输出到文件OUT.dat中。原始数据文件存放的名目是:每行的宽度均小于80个字符(含标点符号和空格)。 例如,原文:dAeBfC. CcbbAA 结不美观:fedCBA. cbbCAA 【谜底】 void DescSort(void) { int i, j, k, strl; char ch; for (i=0; i { strl = strlen(str); for (j=0; j for (k=j+1; k if (str < str) { ch = str; str = str; str = ch; } } } 6函数RData()实现从文件IN.dat中篡夺一篇英文文章存入字符串数组original中,请编写StrCharMove()函数,其功能是:以行为单元把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII质ё儋加上原字符的ASCII值,获得新的字符仍存入原字符串对应的位置上。最后把已措置的字符串仍按行从头存入字符串数组original中。最后挪用函数WData(),把结不美观original输出到文件OUT.dat中。 原始数据文件存放的名目是:每行的宽度均小于80个字符(含标点符号和空格)。 【谜底】 void StrCharMove(void) { int i, j, strl; for (i=0; i { strl = strlen(original); for (j=0; j original += original>>4; } }
| |