三级数据库上机好题.doc

上传人:博****1 文档编号:558280086 上传时间:2023-03-18 格式:DOC 页数:9 大小:26.52KB
返回 下载 相关 举报
三级数据库上机好题.doc_第1页
第1页 / 共9页
三级数据库上机好题.doc_第2页
第2页 / 共9页
三级数据库上机好题.doc_第3页
第3页 / 共9页
三级数据库上机好题.doc_第4页
第4页 / 共9页
三级数据库上机好题.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《三级数据库上机好题.doc》由会员分享,可在线阅读,更多相关《三级数据库上机好题.doc(9页珍藏版)》请在金锄头文库上搜索。

1、题目57:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能并调用函数WriteDat()把结果p输出到文件OUT.DAT中。设n=100,s=1,m=10.(1)将1到n个人的序号存入一维数组p中;(2)若第i个人报数后出圈,则将pi置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;(3)重复第(2)步直至圈中只剩下p1为止。部分源程序已给出

2、。-void Josegh(void) /*标准答案*/int I,j,k,s1,w;s1=s;for(I=1;I=2;I-)s1=(s1+m-1)%I;if (s1=0) s1=I;w=ps1-1;for(j=s1;j=I-1;j+) pj-1=pj;pI-1=w;题目64:下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countvalue()实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 -类型:素数。void countValue

3、() /*标准答案*/int I,count=0,xx30; int j,k,m; cnt=0; sum=0; for(I=1;I=90;I+) if(isPrime(I) xxcount=I;count+; for(I=0;Icount;I+) if (isPrime(xxI+4)&isPrime(xxI+10) cnt+;sum+=xxI;题目71:函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后

4、调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。例如:位置012345678源字符串a b c d h g f e 1 2 3 4 9 8 7 6 5则处理后字符串 d c b a e f g h 4 3 2 1 9 5 6 7 8类型:字符串左右排序和比较。注:要注意当要进行右半部分排序时,一定要判断原字符串个数是否为奇数,若是则要half加1,本题对右半部分采用选择法对其进行升序排序。void jsS

5、ort() /*标准答案*/int I,j,k,strl,half; char ch; for(I=0;I20;I+) strl=strlen(xxI); half=strl/2; for(j=0;jhalf-1;j+) for(k=j+1;khalf;k+) if (xxIjxxIk) ch=xxIj;xxIj=xxIk;xxIk=ch;if (strl%2) half+; for(j=half;jstrl-1;j+) for(k=j+1;kxxIk) ch=xxIj; xxIj=xxIk; xxIk=ch; 函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中

6、(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。例如:位置012345678源字符串d c b a h g f e 4 3 2 1 9 8 7 6 5 则处理后字符串 h g f e a b c d 8 7 6 5 9 1 2 3 4 A b c d

7、 h g f e 1 2 3 4 9 8 7 6 5 void jsSort() int i,j,k,strl,half; char temp; for(i=0;i20;i+) strl=strlen(xxi); half=strl/2; for(j=0;jhalf-1;j+) for(k=j+1;kxxik) temp=xxij; xxij=xxik; xxik=temp; for(j=half-1,k=strl-1;j=0;j-,k-) temp=xxij; xxij=xxik; xxik=temp; 下列程序的功能是:将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比

8、K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。 说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a109中,分别求出这10个新序列。 例:序列6,8,9,1,2,5,4,7,3 经重排后成为3,4,5,2,1,6,8,9,7 jsValue(int a109) int i,j,k,val,num; for(i=0;i10;i+) val=ai0; for(j=0;j9;j+) if(aij0;k-) aik=aik-1; ai0=num; 函数

9、ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中void StrOR(void)int i,righto,j,s,k; char tem80; for(i=0;i=0;j-) k=0; memset(tem,0,80);/初始化数组tem;

10、if(xxij=o) righto=j; for(s=righto+1;sstrlen(xxi);s+) temk+=xxis; for(s=0;srighto;s+) if(xxis!=o) temk+=xxis; strcpy(xxi,tem); else continue; *书上答案*void StrOR(void) int i,j,k,index,strl; char ch; for(i=0;imaxline;i+) strl=strlen(xxi); index=strl; for(j=0;jstrl;j+)if(xxij=o) for(k=j;k=index;j-) ch=xxi

11、strl-1; for(k=strl-1;k0;k-) xxik=xxik-1; xxi0=ch; 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。 例如:原文:You He Me I am a student.结果:Me He You student a am I void StrOL(void) int i,j,k,s,m,strl; char str80; for(i=0;i=0;j-) if(isalpha(xxij) k+; else for(m=1;m=k;m+) strs+=xxij+m; k=0; if(!isalph

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号