ImageVerifierCode 换一换
格式:DOCX , 页数:203 ,大小:60.20KB ,
资源ID:6725918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6725918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机三级数据库上机试题100道.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机三级数据库上机试题100道.docx

1、计算机三级数据库上机试题100道计算机三级数据库上机试题100道目 录一、 20行数据问题 2一、 200个四位数 9二、 200个整数 43三、 200组数据 47四、 300个四位数 51五、 1000个十进制数 56六、 1000-9999排序 62七、 产品销售 65八、 个数小于200 77九、 混乱计算 86十、 素数 101十一、 选票 106十二、 字符 112一、 20行数据问题1. 奇数从小到大函数readDat()的功能是从文件in74.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。请编制函数jsSort(),该函数的功能是:以行为单位对字符

2、串变量的下标为奇数位置上的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件out74.dat中。例如: 位置01234567源字符串hgfedcba则处理后字符串hafcdebg。注意:部分源程序已给出。请勿改动主函数main( )、读函数readDat()和写函数writeDat( )的内容。试题程序:#include#include#includechar xx2080;void readDat();void writeDat();void jsSort() int i,j,k; /*定义循环控制变

3、量*/ int str; /*定义存储字符串长度的变量*/ char temp; /*定义数据交换时的暂存变量*/ for(i=0;i20;i+) /*逐行对数据进行处理*/ str=strlen(xxi); /*求各行字符串的长度*/ for(j=1;jstr-2;j=j+2) /*将下标为奇数的字符按其ASCII值从小到大的顺序进行排序*/ for(k=j+2;kxxik) temp=xxij; xxij=xxik; xxik=temp; void main() readDat(); jsSort(); writeDat();void readDat() FILE *in; int i=0

4、; char *p; in=fopen(in74.dat,r); while(i20 & fgets(xxi,80,in)!=NULL) p=strchr(xxi,n); if(p) *p=0; i+; fclose(in);void writeDat() FILE *out; int i; out=fopen(out74.dat,w); system(CLS); for(i=0;i20;i+) printf(%sn,xxi); fprintf(out,%sn,xxi); fclose(out);2. 左降与右换函数readDat()的功能是从文件IN75.DAT中读取20行数据存放到字符串数

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

6、 5 9 4 3 2注意:部分源程序已给出。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include#include#includechar xx2080;void readDat();void writeDat();void jsSort() int i,j,k; /*定义计数器变量*/ int str,half; /*定义存储字符串长度的变量*/ char temp; /*定义数据交换时的暂存变量*/ for(i=0;i20;i+) /*逐行对数据进行处理*/ str=strlen(xxi); /*求字符串的长度*/ half=st

7、r/2; /*通过half将字符串分为左右两部分*/ for(j=0;jhalf-1;j+) /*用选择法将左边部分按字符的ASCII值降序排序*/ for(k=j+1;khalf;k+) if(xxij=0;j-,k-) /*将左边部分和右边部分的对应字符交换*/ temp=xxij; xxij=xxik; xxik=temp; void main() readDat(); jsSort(); writeDat();void readDat() FILE *in; int i=0; char *p; in= fopen(IN75.DAT, r); while(i 20 & fgets(xxi

8、, 80, in) != NULL) p = strchr(xxi, n); if(p) *p = 0; i+; fclose(in);void writeDat() FILE *out; int i; system(CLS); out = fopen(OUT75.DAT, w); for(i = 0; i 20; i+) printf(%sn, xxi); fprintf(out, %sn, xxi); fclose(out);3. 左降与右升函数readDat()是从文件in77.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其功能是

9、:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数writeDat()把结果xx输出到文件out77.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。例如: 位置 0 1 2 3 4 5 6 7 8源字符串 a b c d h g f e1 2 3 4 9 8 7 6 5处理后的字符串 d c b a e f g h4 3 2 1 9 5 6 7 8注意:部分源程序已给出。请勿改动主函数main()、读函数r

10、eadDat()和写函数writeDat()的内容。试题程序:#include#include#includechar xx2080;void readDat();void writeDat();void jsSort() int i,j,k; /*定义循环控制变量*/ int str,half; /*定义存储字符串长度的变量*/ char temp; /*定义数据交换时的暂存变量*/ for(i=0;i20;i+) /*逐行对数据进行处理*/ str=strlen(xxi); /*求各行字符串的总长度*/ half=str/2; /*求总长度的一半*/ for(j=0;jhalf-1;j+)

11、 /*左边部分按字符的ASCII值降序排序*/ for(k=j+1;khalf;k+) if(xxijxxik) temp=xxij; xxij=xxik; xxik=temp; if(str%2=1) /*如果原字符串长度为奇数,则跳过最中间的字符,使之不参加排序*/ half+; for(j=half;jstr-1;j+) /*右边部分按字符的ASCII值升序排序*/ for(k=j+1;kxxik) temp=xxij; xxij=xxik; xxik=temp; void main() readDat(); jsSort(); writeDat();void readDat() FIL

12、E *in; int i=0; char *p; in=fopen(in77.dat,r); while (i20 & fgets(xxi,80,in)!=NULL) p=strchr(xxi,n); if(p) *p=0; i+; fclose(in);void writeDat() FILE *out; int i; system(CLS); out=fopen(out77.dat,w); for(i=0;i20;i+) printf(%sn,xxi); fprintf(out,%sn,xxi); fclose(out);4. 左升与右换读函数readDat()的功能是从文件IN76.DA

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

14、 a b c d9 8 7 6 1 2 3 4注意:部分源程序已给出。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include #include #include char xx2080;void readDat();void writeDat();void jsSort() int i,j,k; /*定义计数器变量*/ int str,half; /*定义存储字符串长度的变量*/ char temp; /*定义数据交换时的暂存变量*/ for(i=0;i20;i+) /*逐行对数据进行处理*/ str=strlen(xxi); /*求

15、字符串的长度*/ half=str/2; /*确定各行中字符串的中间位置*/ for(j=0;jhalf-1;j+) /*对中间位置以前的字符进行升序排序*/ for(k=j+1;kxxik) temp=xxij; xxij=xxik; xxik=temp; for(j=half-1,k=str-1;j=0;j-,k-) /*将左边部分与右边部分对应的字符进行交换*/ temp=xxij; xxij=xxik; xxik=temp; void main() readDat(); jsSort(); writeDat();void readDat() FILE *in; int i=0; cha

16、r *p; in = fopen(IN76.DAT, r); while(i20 & fgets(xxi, 80, in) != NULL) p = strchr(xxi,n); if(p) *p = 0; i+; fclose(in);void writeDat() FILE *out; int i; system(CLS); out = fopen(OUT76.DAT, w); for(i=0; i20; i+) printf(%sn, xxi); fprintf(out, %sn, xxi); fclose(out);一、 200个四位数5. 连续大于后5个数已知IN2.DAT中存有20

17、0个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数 jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat() 把结果cnt及数组b中符合条件的4位数输出到 OUT2.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a200,b200,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include #define MAX 20

18、0int aMAX, bMAX, cnt = 0 ;void writeDat();void jsVal() int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换是的暂存变量*/ for(i=0;iMAX-5;i+) /*逐个取每个4位数*/ if(ai%2!=0) /*如果当前数是奇数*/ for(j=i+1;j=i+5;j+) /*取该数后面的5个数进行比较*/ if(aiaj) break; /*如果当前数不满足比后面5个数都大的条件,则跳出循环*/ else if(j=i+5) /*如果当前数比后面的5个数都大*/ bcnt=ai; /*将满足条件的数存入数

19、组b中*/ cnt+; /*并统计满足条件的数的个数*/ for(i=0;icnt-1;i+) /*利用选择法对b数组中的元素进行从小到大的排序*/ for(j=i+1;jbj) temp=bi; bi=bj; bj=temp; void readDat() int i ; FILE *fp; fp = fopen(IN2.DAT, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; f

20、or(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp; int i ; fp = fopen(OUT2.DAT, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ;6. 连续小于后5个数已知数据文件IN36.DAT中存有200个4位数,并已调用读函数readDat() 把这些数存入数组a中。请编制函数jsVal(),其功能是:依次从数组a中取出一

21、个4位数,如果该4位数连续小于该4位数以后的5个数且该数是偶数(该4位数以后不满5个数,则不统计),则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT36.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a200,b200,已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include#define MAX 200int aMAX, bMAX, cnt = 0 ;void readDat();void

22、writeDat();void jsVal() int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换是的暂存变量*/ for(i=0;iMAX-5;i+) /*逐个取每个4位数*/ if(ai%2=0) /*如果当前数是偶数*/ for(j=i+1;jaj) break; /*如果当前数不满足比后面5个数都小的条件,则跳出循环*/ else if(j=i+5) /*如果当前数比后面的五个数都小*/ bcnt=ai; /*将满足条件的数存入数组b中*/ cnt+; /*并统计满足条件的数的个数*/ for(i=0;icnt-1;i+) /*利用选择法对b数组中的元素进

23、行从小到大的排序*/ for(j=i+1;jbj) temp=bi; bi=bj; bj=temp; void readDat() int i ; FILE *fp ; fp = fopen(IN36.DAT, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat(

24、) ;void writeDat() FILE *fp ; int i ; fp = fopen(OUT36.DAT, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi); fclose(fp) ;7. 偶数已知数据文件IN37.DAT中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数(该4位数以前不满5个数,则不统计),则统计出满足此条件的数个数cnt

25、并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT37.DAT中。注意:部分源程序已给出。程序中已定义数组:a200,b200,已定义变量:cnt。请勿改动主函数main( )、读函数readDat()和写函数writeDat( )的内容。试题程序:#include#define MAX 200int aMAX,bMAX,cnt=0;void writeDat();void jsVal() int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换是的暂存变量*/ for(i=5;iMAX;

26、i+) /*逐个取每个4位数*/ if(ai%2=0) /*如果当前数是偶数*/ for(j=i-5;j=i-1;j+) /*取该数前面的5个数进行比较*/ if(aiaj) break; /*如果当前数不满足比前面5个数都大的条件,则跳出循环*/ else if(j=i-1) /*如果当前数比前面的5个数都大*/ bcnt=ai; /*将满足条件的数存入数组b中*/ cnt+; /*并统计满足条件的数的个数*/ for(i=0;icnt-1;i+) /*利用选择法对b数组中的元素进行从大到小的排序*/ for(j=i+1;jcnt;j+) if(bibj) temp=bi; bi=bj; bj=temp; void readDat() int i; FILE *fp; fp=fopen(in37.dat,r); for(i=0;iMAX;i+) fscanf(fp,%d,&ai); fclose(fp);void main()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1