上机考试试题三级数据库技术基础训练_第1页
上机考试试题三级数据库技术基础训练_第2页
上机考试试题三级数据库技术基础训练_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上机考试试题三级数据库技术基础训练1来源:未来教育作者:未来教育发布时间:2009-11-6 10:46:00点击率:398下列程序的功能是:把s字符串中的所有字符左移一个位置,字符串中的第一个字符移到最 后。请编写函数chaiige(char*s)实现程序要求,最后调用函数readwriteDATQ从IN.dat文件中 读取50组数据,分别得出结果,且把结果输出到OUT.dat文件中。例如,s字符串中原有内容为:Mn.l23xyZ,调用该函数后结果为:n.l23xyZMo注意:部分源程序已经给出。请勿改动主函数main()和输出数据函数“adwriteDATO中的内 容。#include &

2、lt;stnng.h>#include <stdio.h>#define N 81void readwriteDATQ;void change(char*s)main() char aN;printf(MEnter a string : M);gets(a);printH'The original string is : n);puts(a);chaiige(a);printf(MThe string after modified :"); puts(a); readwriteDATO;void readwriteDATQ mt i;char aN;FILE

3、 *if *wf;rf = fopenCIN.dat”,T); wf= fdpen(nOUT.daf nwn); for (i=O; i<50; i+)fscanf(戊”s”,a);change(a);fprintf(wf n%snH, a);fclose(rf);fclose(wf);试题答案及详解【审题分析】分析题目可知,本题只要实现cliange(chai*s)函数的功能即nf。change(chai*s) 要实现的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。因 此解答本题的关键在于如何将字符串拆分成单个字符并赋值给数组,并通过数组的下标将字 符逐个左移一

4、位。【解题思路】首先用字符串函数stileii求出字符串s的长度,赋给变量st山 再把字符串的 首字符赋给字符变量ch:然后在for循坏语句中,变量I从0递增到SU-1-1,字符串s中的所 有字符左移一个位置:最后把字符变量ch的值赋给即完成了题目要求的功能。【参考答案】void change(char*s) iiit i,strl;char ch;strl = stiien(s);ch = *s;for (1=0; i<stil-l; i+)*(s+i) = *(s+i+l);*(s+strl-l) = ch;【易错分析】在字符串左移时要首先把首字符存入一个字符变量中。【考点链接】字符

5、串中字符的移动。上机考试试题三级数据库技术基础训练2来源:未来教育作者:未来教育发布时间:2009-11-6 10:49:00点击率:287已知数据文件IN.dat中存有300个四位数,并已调用读函数RdataQ把这些数存入数组a中, 请编写函数pnmeCalO,其功能是:求出这些四位数中素数的个数count,再求出所有满足 此条件的四位数的平均值Avel以及不满足此条件的四位数的平均值Ave2o最后调用写函数 WdataQ,把结呆 counts Avel、Ave2 输出到 OUT.dat 文件中。例如,5591是素数,则该数满足条件计算平均值Avel,且个数count=count+lo 98

6、12是非 素数,则该数不满足条件计算平均值Ave2。注意:部分源程序已经给出。程序中已定义数组a300,已定义变量count、Avel、Ave2o 请勿改动主函数niainQ、读函数Rdata()和写函数WdataQ的内容。include <stdio.h> iiit a300, count = 0;double Avel = 0.0. Ave2 = 0.0;mt isP(iiit m) mt i;for (i=2; i<m; i+)if (m%i = 0)return 0;return 1;void pruneCalQ void RdataQFILE *fp;mt i;fy

7、 = fopenCln.dat1; V);for (1=0; i<300; i+)fscanf(fp, H%d/ &ai);fclose(fp);void Wdata() FILE *fp;fy = fopenC-out.daf; ”w”);卽讪耳姒 ”dn%72fn%72fn”, count, Ave 1, Avre2);fclose(fp);main() Rdata。;primeCalQ;Wdata();piintf(,count=%dii满足条件的平均值 Avel=%7.2fii不满足条件的平均值 Ave2=%72foT, count, Avel, Ave2);试题答案及详

8、解【审题分析】分析题目可知,本题只要实现PnmeCalO函数的功能即可。PnmeCal()要实现 的功能是:求出这些四位数中是素数的个数count,再求出所有满足此条件的四位数的平均 值Avel以及不满足此条件的四位数的平均值Ave2o因此解答本题的关键在于如何判断一个 数为素数。【解题思路】在for循环语句中当自变量1递增到299时,对数组a中的每一个元素ai调 用函数isP(ai)来判断元素ai是否为素数,如果是素数,则把哑加入Avel上,count自加; 否则把ai加入Ave2上。当退出循环时,用Avel除以count就得到所有满足此条件的四位 数的平均值,用Ave2除以300-coun

9、t就得到所有不满足此条件的四位数的平均值。【参考答案】void piiineCalQ mt i;for (1=0; i<300; i+)if (isP(ai) Avel += ai;counted-;else Ave2 += ai;Avel = Arel/count;Ave2 = Avre2/(300-count);【易错分析】退出for循环时,变量Avel的值是所有满足条件的四位数的和:变屋Ave2的 值是所有不满足条件的四位数的和。【考点链接】血循坏语句、if else条件判断语句。上机考试试题三级数据库技术基础训练3来源:未来教育作者:未来教育发布时间:2009-11-6 10:5

10、3:00点击率:747函数RdataO实现从文件IN.dat中读取一篇英文文章,存入到字符串数组stnng中,请编写 函数CliarRightO,其功能是:以行为单位把字符串中的最后一个字符的ASCH值右移4位 后加倒数第二个字符的ASCII值,得到最后一个新的字符;倒数第二个字符的ASCII值右 移4位后加倒数第三个字符的ASCII值,得到倒数第二个新的字符;依此类推,一直处理 到第二个字符;第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字 符。得到的新字符分别存放在原字符串对应的位置上,最后已处理的字符串仍按行重新存入 字符串数组strmg中。最后调用函数Wdata

11、Q,把结果strmg输出到文件OUT.dat中。原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分源程序已经给出。请勿改动主函数读函数Rdata()和写函数WdataQ的内 容。#include <stdio.h>#include <string.h>#include <conio.h>char string5080;int maxline = 0;/*文章的总行数*/iiit Rdata(void);void Wdata(void);void CharRight(void)if (RdataQ)pnntf(嗷据文件IN.d

12、at不能打开! n007M);return:CliaiRightQ;WdataQ;mt Rdata(void) FILE *fp;mt i = 0;chai *p;if(fp = fopeuCIN.daf ; T) = NULL)return 1;wliile (fgets(striiigi, 80, fp) !=NULL) p = strclu(striiigi, W);lf(p)*p = 0;i+;maxlme = i;fclose(fp);return 0; void Wdata(void)FILE *fp;mt i;fy = fopen(MOUT.daf HwH);for (i=0;

13、i<maxliiie; i+)prmtf(H%snH, stringi);fprintfffp,stiiiigi);fclose(fp);试题答案及详解【审题分析】分析题目可知,本题只要实现CliaiRightO数的功能即可。CharRightO函数要 实现的功能是:按“将字符的ASCD值右移4位并加上该字符前面的一个字符的Ascn值 等到新的字符,然后存在原位”的替代关系,将字符串数组string中的字符全部替换。因此 解答本题的关键在于读取字符串数组中的字符,然后转换成ASCII码值,最后进行替换运 算。【解题思路】这里我们通过for循环语句来实现读取字符串数组中的所有字符。当自变量1 从0递增到maxline时,就完成了对一篇文章每一行的扫描。对一行的字符串数组,首先利 用字符串函数strlen求出字符串数组stnngi的长度输给变量strl,把字符串中的最后一个字 符赋给ch;然后在for循环语句中当自变量j从strl-1递减到0时,对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论