计算机三级数据库上机题库_第1页
计算机三级数据库上机题库_第2页
计算机三级数据库上机题库_第3页
计算机三级数据库上机题库_第4页
计算机三级数据库上机题库_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

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

文档简介

1.调用函数 rwdata(),从 IN.dat 文件中读取 10 组数据(m 和 k 值) ,并嵌套调用 primenum函数分别得出 array数组。请编写函数 primenum(int m, int k,int array),该函数的功能是:将紧靠 m 的 k 个素数存入数组 array 并在屏幕上显示。最后把结果输出到文件OUT.dat 中。例如,若输入 3 9,则应输出 5 7 11 13 17 19 23 29 31。注意:部分程序已经给出。请勿改动主函数 main()和输出数据函数 rwdata()的内容。#include #include void rwdata();void primenum(int m, int k, int array)main() int m, n, array1000;printf(“nPlease enter two integers:“);scanf(“%d%d“, primenum(m, n, array);for (m=0; m half) arrayn = value;n+;if (n = k)break;value+;【容错分析】判断一个数 m(大于)是否素数的简单的算法:枚举到 m/2 之间的整数,看能否被 m 整除,如果能整除,就不是素数,否则是素数。2.在文件 IN.dat 中有 200 个正整数,且每个数均在 10009999 之间。函数 RData()读取这200 个数存放到数组 original 中。请编写函数 numAscend(),其功能是:要求按每个数的后3 位的大小进行升序排列,然后取出满足此条件的前 10 个数依次存入数组 result 中,如果后 3 位的数值相等,则按原先的数值进行降序排列。最后调用函数 WData(),把结果 result输出到文件 OUT.dat 中。例如,处理前:6012 5099 9012 7025 8088处理后:9012 6012 7025 8088 5099注意:部分程序已给出。请勿改动主函数 main()、读数据函数 RData()和输出数据函数WData()的内容。#include #include #include int original200, result10;void numascend() void RData() FILE *in;int i;in = fopen(“IN.dat“, “r“);for (i=0; i originalj%1000) data = originali;originali = originalj;originalj = data;else if (originali%1000 = originalj%1000) if (originali #include #include #include #define MAX 100typedef struct char code5; /* 产品代码 */ char name11; /* 产品名称 */int uprice; /* 单价 */int amount; /* 数量 */long sum; /* 金额 */ PRO;PRO sellMAX;void RData();void WData();void DescSort()void main() memset(sell, 0, sizeof(sell);RData();DescSort();WData();void RData() FILE *fp;char str80, ch11;int i;fp = fopen(“IN.dat“, “r“);for (i=0; i#include #include #include unsigned char str5080;int maxline = 0; /* 文章的总行数 */int RData(void);void WData(void);void encryptChar()void main() if (RData() printf(“数据文件 IN.dat 不能打开!n007“);return;encryptChar();WData();int RData(void) FILE *fp;int i = 0;unsigned char *p;if (fp = fopen(“IN.dat“, “r“) = NULL)return 1;while (fgets(stri, 80, fp) != NULL) p = strchr(stri, n);if (p)*p = 0;i+;maxline = i;fclose(fp);return 0;void WData(void) FILE *fp;int i;fp = fopen(“OUT.dat“, “w“);for (i=0; i32)*pf = *pf*11%256;pf+;容错分析:题目中的条件是:如果计算后 f(p)值小于等于 32 或大于 130,则该字符不变。在程序中这个条件写成:*pf*11%25632。5.函数 RData()实现从文件 IN.dat 中读取一篇英文文章存入到字符串数组 str 中,请编写函数 DescSort(),其功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 str 中,最后调用函数 WData(),把结果 str 输出到文件 OUT.dat中。原始数据文件存放的格式是:每行的宽度均小于 80 个字符(含标点符号和空格) 。例如,原文:dAeBfC.CcbbAA结果:fedCBA.cbbCAA注意:部分程序已给出。请勿改动主函数 main()、读数据函数 RData()和输出数据函数WData()的内容。#include #include #include char str5080;int maxline = 0; /* 文章的总行数 */int RData(void);void WData(void);void DescSort(void) void main() if (RData() printf(“数据文件 IN.dat 不能打开!n007“);return;DescSort();WData();int RData(void) FILE *fp;int i = 0;char *p;if (fp = fopen(“IN.dat“, “r“) = NULL)return 1;while (fgets(stri, 80, fp) != NULL) p = strchr(stri, n);if (p)*p = 0;i+;maxline = i;fclose(fp);return 0;void WData(void) FILE *fp;int i;fp = fopen(“OUT.dat“, “w“);for (i=0; i#include #include char original5080;int maxline = 0; /* 文章的总行数 */int RData(void);void WData(void);void StrCharMove(void)void main() if (RData() printf(“数据文件 IN.dat 不能打开!n007“);return;StrCharMove();WData();int RData(void) FILE *fp;int i = 0;char *p;if (fp = fopen(“IN.dat“, “r“) = NULL)return 1;while (fgets(originali, 80, fp) != NULL) p = strchr(originali, n);if (p)*p = 0;i+;maxline = i;fclose(fp);return 0;void WData(void) FILE *fp;int i;fp = fopen(“OUT.dat“, “w“);for (i=0; i)来实现,左移运算符为(4;再和 originalij的值相加;最后将得到的 ASCII 码值转换成字符并存入数组 original 中。【答案】void StrCharMove(void) int i, j, strl;for (i=0; i4;容错分析:字符的 ASCII 码值右移 4 位,再和原值相加,用语句 originalij += originalij4 实现。7.编写函数 findStr(),其功能是:统计一个长度为 2 的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为“asd asasdfg asd as zx67 asd mklo“,子字符串为“as“,函数返回值是 6。函数 ReadWrite()实现从文件 IN.dat 中读取两个字符串,并调用函数 findStr(),最后,把结果输出到文件 OUT.dat 中。注意:部分程序已经给出。请勿改动主函数 main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入编写的若干语句。#include #include #include int findStr(char *str, char *substr)void ReadWrite() char str81, substr10, ch;int n, len, i = 0;FILE *rf, *wf;rf = fopen(“IN.dat“, “r“);wf = fopen(“OUT.dat“, “w“);while (i #include #include double CountValue(int n)void progReadWrite() FILE *fp, *wf;int i, n;float s;fp = fopen(“in.dat“, “r“);if (fp = NULL) printf(“数据文件 in.dat 不存在!“);return;wf = fopen(“out.dat“, “w“);for (i=0; i#include #define MAXNUM 200float originalMAXNUM;double aver = 0.0;long sumint = 0;double sumdec = 0.0;int RData(void);void WData(void);void CalValue(void)void main() int i;for (i=0; iint a300, b300, count = 0;int isP(int m) int i;for (i=2; i bj) value = bi;bi = bj;bj = value;容错分析:在两层 for 循环中,内层循环是从 i+1 开始直到 count。11.下列程序的功能是:把 s 字符串中的所有字符左移一个位置,字符串中的第一个字符移到最后。请编写函数 change(char*s)实现程序要求,最后调用函数 readwriteDAT()从 IN.dat文件中读取 50 组数据,分别得出结果,且把结果输出到 OUT.dat 文件中。例如,s 字符串中原有内容为:Mn.123xyZ,调用该函数后结果为:n.123xyZM。注意:部分源程序已经给出。请勿改动主函数 main()和输出数据函数 readwriteDAT()中的内容。#include #include #define N 81void readwriteDAT();void change(char*s)main() char aN;printf(“Enter a string : “);gets(a);printf(“The original string is : “);puts(a);change(a);printf(“The string after modified : “);puts(a);readwriteDAT();void readwriteDAT() int i;char aN;FILE *rf, *wf;rf = fopen(“IN.dat“, “r“);wf = fopen(“OUT.dat“, “w“);for (i=0; iint count, sum;int isPrime(int number) int i, tag = 1;for (i=2; tag int maxline = 0; /* 文章的总行数 */int Rdata(void);void Wdata(void);void ConvertCharD(void)void main() if (Rdata() printf(“数据文件 IN.dat 不能打开!n007“);return;ConvertCharD();Wdata();int Rdata(void) FILE *fp;int i = 0;char *p;if (fp = fopen(“IN.dat“, “r“) = NULL)return 1;while (fgets(stringi, 80, fp) != NULL) p = strchr(stringi, n);if (p)*p = 0;i+;maxline = i;fclose(fp);return 0;void Wdata(void) FILE *fp;int i;fp = fopen(“OUT.dat“, “w“);for (i=0; i=b FILE *fp;fp = fopen(“out.dat“, “w“);countValue(aa, for (k=

温馨提示

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

评论

0/150

提交评论