2015年计算机三级数据库上机题及参考答案(1)
发布时间:2012/5/18 9:36:21 来源:城市网学院 编辑:ziteng
函数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[NextPage] 【谜底】
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;
}
}