全国计算机三级数据库、网络上机题库完整答案

char ch;

strl=strlen(s); /*求字符串的长度*/

ch=*s; /*将第一个字符暂赋给ch*/ for(i=0;i

*(s+strl-1)=ch; /*将第一个字符移到最后*/ }

76.函数readDat()实现从文件IN76.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其功能是:以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT76.DAT中。 例如:位置: 0 1 2 3 4 5 6 7 源字符串: h g f e d c b a 则处理后字符串:h a f c d e b g

注意:部分源程序已给出。请勿改动主函数main()、读数据函数readDat()和输出数据函数writeDat()的内容。 【参考答案】 void jsSort() {

int i,j,k,strl; char ch;

for(i=0;i<20;i++) {

strl=strlen(xx[i]); for(j=1;jxx[i][k])

{ ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch; } } }

77.函数readDat()实现从文件IN77.DAT中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT77.DAT中。

条件:从字符串中间一分为二,左边部分按字符的ASCii值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例如:位置: 0 1 2 3 4 5 6 7 8 源字符串: a b c d h g f e

1 2 3 4 9 8 7 6 5 则处理后字符串:h g f e d c b a

8 7 6 5 9 4 3 2 1

注意:部分源程序已给出。请勿改动主函数main()、读数据函数readDat()和输出数据函数writeDat()的内容。 【参考答案】 void jsSort() {

int i,j,k,strl,half; char ch;

for(i=0;i<20;i++) {

strl=strlen(xx[i]); half=strl/2;

for(j=0;j

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@)