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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文([计算机类试卷]国家三级(数据库技术)机试模拟试卷2及答案与解析.doc)为本站会员(eastlab115)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家三级(数据库技术)机试模拟试卷2及答案与解析.doc

1、国家三级(数据库技术)机试模拟试卷 2及答案与解析 一、程序设计题 1 函数 ReadDat()的功能是实现从文件 IN2.DAT中读取一篇英文文章存入到字符串数组 xx中;请编制函数 StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串 (应不含标点符号 )仍按行重新存入字符串数组 xx中,最后调用函数 WriteDat()把结果 xx输出到文件OUT2.DAT中。 例如,原文: You He Me lam a student 结果: Me He You student a am I 原始数据文件存放的格式是:每行的宽度均小于 80个

2、字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数 main()、读函数 ReadDat()和写函数 WriteDat()的内容。 试题程序: #include stdio.h #include string.h #include conio.h #include ctype.h char xx50 80; int maxline=0;/* 文章的总行数 */ int ReadDat (void); void WriteDat(void); void StrOL(void) main ( ) clrscr ( ); if (ReadDat () printf(“数据文件 IN2

3、.DAT不能打开 ! n007“); return; StrOL ( ); WriteDat ( ); int ReadDat (void) FILE *fp; int i = 0; char *p; if(fp = fopen(“IN2.DAT“, “r“) = NULL) return 1; while(fgets(xxi, 80, fp) != NULL) p = strchr(xx i, n); if(p) *p = 0; i+; maxline = i; fclose(fp); return 0; void WriteDat(void) FILE*fp; int i; clrscr(

4、); fp = fopen(“OUT2.DAT“, “w“); for(i = 0; i maxline; i+) printf(“%sn“, xxi ); fprintf(fp, “%sn“, xxi ); fclose(fp); 国家三级(数据库技术)机试模拟试卷 2答案与解析 一、程序设计题 1 【正确答案】 void StrOL(void) int i, j, k, strl, 1; char c; for (i=0; i maxline; i+) /*把各行中多余的标点符号去掉 */ for (j=0; j strlen(xx ii ); j+) c=xxi j; if(c =Aj

5、=0;j-) /*从当前行的最后一个实际情况符开始取字符,直到遇到穿空格 */ ppj+1=ppj; ppO=xxl i; k+;i-; strcat (ch,pp); /*把该单词存放到数组 ch中 */ strcpy(pp, “ “); /*清空数组 pp*/ k=1; if(i=-1)break; /*如果处理完了一行,则退出循环 */ while(xxl i 0 | (xxl i 9 j =O;j-) ppj+1=ppj; ppO=xxl i; k+; i-; strcat (ch,pp); /*把空格加到数组 ch中 */ strcpy (pp, “ “); /*清空数组 pp*/

6、k=0; if(i=-1)break; /*如果处理完了一行,则退出循环 */ strcpy(xxl ,ch); /*把已处理的字符串数组 xx中 / 【试题解析】 本题是有关字符串的处理问题。首先利用二重循环来按照先行后列的顺序取得 xx数组中的各个字符元素,这里用到了 strlen()函数,用来求字符串长度。对依次取得的字符做一些处理,即把多余的标点符号去掉,使新的字符数组中只含有字母和空格。准备工作做完后,从当前行的最后一个字符开始取,不断的取每一个字符前面的字符,直到取得一个完整的单词后 (即遇到空格分隔时 ),就把该单词存放到数组 ch中 (用到了 strcat()函数来连接两个字符串,用 strlen()函数来对字符串求取串长 度 ),还要把分隔符也放到 ch中去。接着去取该行中其他的字符组成的单词,重复上面的操作,对其他行同样处理。这样最终得到的字符串就是各行中单词出现的顺序的逆序了,但单词本身的字符顺序没有发生变化。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1