2022年全国计算机等级考试三级数据库技术上机试题汇编 .pdf

上传人:C****o 文档编号:38602408 上传时间:2022-09-04 格式:PDF 页数:14 大小:62.34KB
返回 下载 相关 举报
2022年全国计算机等级考试三级数据库技术上机试题汇编 .pdf_第1页
第1页 / 共14页
2022年全国计算机等级考试三级数据库技术上机试题汇编 .pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年全国计算机等级考试三级数据库技术上机试题汇编 .pdf》由会员分享,可在线阅读,更多相关《2022年全国计算机等级考试三级数据库技术上机试题汇编 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、全国计算机等级考试三级数据库技术上机试题汇编2011 年版1: 下列程序的功能是: 将大于整数m 且紧靠 m 的 k 个素数存入数组xx。 请编写函数num(int m,intk,int xx) 实现函数的要求,最后调用函数readwriteDAT() 把结果输出到文件out.dat 中。例如:若输入17,5,则应输出: 19,23,29,31,37。注意:部分源程序已给出。请勿改动主函数main()和函数 readwriteDA T() 的内容。- 类型:素数。void num(int m,int k,int xx) /*标准答案 */ int data=m+1; int half,n=0,

2、I; while(1) half=data/2;for(I=2;Ihalf) xxn=data;n+; if(n=k)break; data+; 3:函数READDA T()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组XX 中;请编制函数 STROR(), 其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O 删除 ,余下的字符串内容移到已处理字符串的左边 存 放 .最 后 把 已 处 理 的 字 符 串 仍 按 行 重 新 存 入 字 符 串 数 组XX中 ,最 后 调 用 函 数WRITEDAT() 把结果 XX 输出到文

3、件OUT.DAT 中. 例如 :原文 :You can create an index on any field.you have the correct record. 结果 : n any field.You can create an index rd.yu have the crrect rec 原始数据文件存放的格式是:每行的宽度均小于80 个字符 ,含标点符号和空格. - 类型:字符串(单词 )的倒置和删除。void StrOR(void) /* 标准答案 */ int I,j,k,index,strl; char ch; for(I=0;Imaxline;I+) strl=str

4、len(xxI); index=strl; for(j=0;jstrl;j+) if(xxIj=o) for(k=j;k=index;j-) ch=xxIstrl-1; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 14 页for(k=strl-1;k0;k-) xxIk=xxIk-1; xxI0=ch; 4:函数 ReadDat( )实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中; 请编制函数StrOL( ), 其函数的功能是: 以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排 ,同时去除标点符号,之后

5、把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组 xx 中。最后main()函数调用函数WriteDat() 把结果 xx 输出到文件OUT6.DAT 中。例如 : 原文 : You He MeI am a student. 结果 : Me He You student a am I 原始数据文件存放的格式是: 每行的宽度均小于80 个字符 , 含标点符号和空格。- 类型:字符串(单词 )的倒置和删除。void StrOL(void) /* 标准答案 */ int I,j,k,strl,l;char c; for(I=0;Imaxline;I+) for(j=0;j=A&c=a&c=

6、z)|c= ) ; else xxIj= ; for(l=0;l=a&xxlI=A&xxlI=0) for(j=k;j=0;j-) ppj+1=ppj; pp0=xxlI; k+;I-; strcat(ch,pp);strcpy(pp, );k=1; if(I=-1)break; while(xxlIz)&I=0) for(j=k;j=0;j-) ppj+1=ppj; pp0=xxlI; k+; I-; strcat(ch,pp); strcpy(pp,); k=0; if(I=-1)break; strcpy(xxl,ch); 6:在文件 in.dat 中有 200 个正整数 ,且每个数均在

7、1000 至 9999 之间。函数 ReadDat()读取这200 个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat() 把结果 bb 输出到文件out.dat 中。例:处理前9012 5099 6012 7025 8088 处理后5099 8088 7025 6012 9012 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 14 页注意:部分源程序已给

8、出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。- void jsSort() /* 标准答案 */ int I,j,data; for(I=0;I199;I+) for(j=I+1;j200;j+) if (aaI%1000aaj) data=aaI;aaI=aaj;aaj=data; for(I=0;I10;I+) bbI=aaI; 7:已知在文件IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码dm(字符型 4 位),产品名称mc(字符型 10 位),单价 dj(整型 ),数量 sl(整型 ),金额 je(长整

9、型 )四部分组成。其中:金额 =单价 *数量计算得出。函数ReadDat()是读取这100 个销售记录并存入结构数组sell 中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中,最后调用函数WriteDat()把结果输出到文件OUT10.DA T 中。注意 : 部分源程序存放在PROG1.C 中。请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。- void SortDat() /* 标准答案 */ int I,j; PRO xy; for

10、(I=0;I99;I+) for(j=I+1;j100;j+) if(strcmp(sellI.dm,sellj.dm)0) xy=sellI;sellI=sellj;sellj=xy; else if(strcmp(sellI.dm,sellj.dm)=0) if(sellI.jesellj.je) xy=sellI; sellI=sellj; sellj=xy; 8:函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(), 按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上 ,最后调

11、用函数WriteDat() 把结果 xx 输出到文件PS1.DAT 中。替代关系: f(p)=p*11 mod 256 (p 是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII 值),如果计算后f(p)值小于等于32 或大于 130,则该字符不变,否则将 f(p)所对应的字符进行替代。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80 个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 14 页-

12、 void encryptChar() /* 标准答案 */ int I; char *pf; for(I=0;I130|*pf*11%256=32); else *pf=*pf*11%256; pf+; 16: 函数 ReadDat()实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组xx 中,请编制函数 StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII 值右移 4 位,然后把右移后的字符ASCII 值再加上原字符的ASCII 值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx 中,最后调用函数writeDa

13、t()把结果xx 输出到文件OUT8.DA T 中。原始数据文件存放的格式是:每行的宽度均小于80个字符 ,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat() 的内容。- void StrCharJR(void) /* 标准答案 */ int I,j,strl; for(I=0;Imaxline;I+) strl=strlen(xxI); for(j=0;j4; 注:这个编程题比二级考得还简单。void StrCharJR(void) int i,j; for(i=0;i4; 17:函数 READDA T()实现

14、从文件IN.DAT 中读取一篇英文文章存入到字符串数组XX 中;请编制函数 CHA(), 其函数功能是 :以行为单位把字符串中的第一个字符的ASCII 值加第二个字符的 ASCII 值,得到第一个亲朋字符,第二个字符的ASCII 值加第三个字符的ASCII 值,得到第二个新字符 ,依此类推一直处理到最后第二个字符,最后一个字符的ASCII 值加原第一个字符的 ASCII 值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX 中,最后调用函数WRITEDAT() 把结果 XX 输出到文件OUT9.DAT 中.原始数据文件存放的

15、格式是:每行的宽度均小于80 个字精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 14 页符,含标点符号和空格. 注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat() 的内容。- void ChA(void) /*标准答案 */ int I,j,k,str; char ch; for(I=0;Imaxline;I+) str=strlen(xxI); ch=xxI0; for(j=0;jstr-1;j+) xxIj+=xxIj+1; xxIstr-1+=ch; for(j=0

16、,k=str-1;jstr/2;j+,k-) ch=xxIj; xxIj=xxIk; xxIk=ch; void ChA(void) int i,j; char p,c; for(i=0;imaxline;i+) p=xxi0; c=xxistrlen(xxi)-1; for(j=0;jstrlen(xxi)-1;j+) xxij+=xxij+1; xxistrlen(xxi)-1=p+c; strrev(xxi); 18:函数 ReadDat()实现从文件ENG.IN 中读取一篇英文文章,存入到字符串数组xx 中;请编制函数 encryptChar(), 按给定的替代关系对数组xx 中的所有

17、字符进行替代,仍存入数组xx 的对应的位置上 ,最后调用函数WriteDat() 把结果 xx 输出到文件PS10.DAT 中。替代关系: f(p)=p*11 mod 256 (p 是数组中某一个字符的ASCII 值,f(p) 是计算后新字符的ASCII 值),如果原字符的ASCII 值是偶数或计算后f(p) 值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80 个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。- void encryptChar()

18、/* 标准答案 */ int I; char *pf; for(I=0;Imaxline;I+) pf=xxI; while(*pf!=0) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 14 页if(*pf%2=0|*pf*11%256=32) ; else *pf=*pf*11%256; pf+; 19:编写一个函数findstr(), 该函数统计一个长度为2 的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为asd asasdfg asd as zx67 asd mklo, 子字符串为 as,函数返回值为6。函数re

19、adwriteDat() 的功能是实现从文件in.dat 中读取两个字符穿4,并调用函数findstr(), 最后把结果输出到文件out.dat 中。注意:部分源程序已给出。请勿改动主函数main()和函数 ReadWrite() 的内容。- int findStr(char *str,char *substr) int n; char *p , *r; n=0; while ( *str ) p=str; r=substr; while(*r) if(*r=*p) r+; p+; else break; if(*r=0) n+; str+; return n; 20:编写函数jsvalue,

20、它的功能是: 求 Fibonacci 数列中大于t 的最小的一个数,结果由函数返回。其中Fibonacci 数列 F(n)的定义为: F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) 最后调用函数writeDat() 读取 10 个数据 t,分别得出结果且把结果输出到文件out.dat 中。例如:当t=1000 时,函数值为: 1597。注意:部分源程序已给出。请勿改动主函数main()和写函数writeDat() 的内容。- int jsValue(int t) /* 标准答案 */ int f1=0,f2=1,fn; fn=f1+f2; while(fn=t) f1=f2;

21、 f2=fn; fn=f1+f2; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 14 页return fn; 21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn). 迭代步骤如下:(1)取 X1 初值为 0.0;(2)X0=X1, 把 X1 的值赋给X0;(3)X1=COS(X0), 求出一个新的X1;(4)若 X0-X1 绝对值小 0.000001,执行步骤 (5),否则执行步骤 (2); (5)所求 X1 就是方程cos(X)-X=0 的一个实根 ,作为函数值返回。请

22、编写函数countvalue() 实现程序的要求,最后调用函数WRITEDAT() 把结果输出到文件OUT17.DAT 中。注意:部分源程序已给出。请勿改动主函数main()和输出数据函数writeDAT() 的内容。- float countValue() /* 标准答案 */ float x0,x1=0.0; while(1) x0=x1; x1=cos(x0); if(fabs(x0-x1)1e-6) break; return x1; 23:已知在文件in.dat 中存有 N 个(个数 200)四位数字的正整数,函数 readdat()读取这 N 个正整数并存入数组xx 中。 请编制函

23、数calvalue(),其功能要求: 1、 求出这 N 个实数的平均值aver;2、分别求出这N 个实数的整数部分之和sumint 以及小数部分之和sumdec,最后调用函数writedat() 把所求的结果输出到文件out.dat 中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat() 的内容。- void CalValue(void) /* 标准答案 */ int I; double x,sum=0; for (I=0;IMAXNUM;I+) sumint=sumint+(int)xxI; x=xxI-(int)xxI; su

24、mdec=sumdec+x; sum=sum+xxI; aver=sum/MAXNUM; 24:在三位整数(100 至 999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数 ,又是两位数字相同,例如 144、676 等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat() 把结果输出到文件out.dat 中。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 14 页注意:部分源程序已给出。请勿改动主函数main()和写函数writeDat() 的内容。- jsValue(in

25、t a109) /*标准答案 */ int I,j,k=0; int hun,ten,data; for(I=100;I=999;I+) j=10; while(j*j=I) if (I=j*j) hun=I/100;data=I-hun*100; ten=data/10;data=data-ten*10; if(hun=ten|hun=data|ten=data) bbk=I;k+; j+; return k; 25:下列程序的功能是:寻找并输出11 至 999 之间的数m,它满足 m,m2 和 m3 均为回文数。所谓回文数是指其各位数字左右对称的整数,例如 121,676,94249 等。

26、满足上述条件的数如m=11,m2=121,m3=1331 皆为回文数。请编制函数int svalue(long m)实现此功能 ,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat 中。注意:部分源程序已给出。请勿改动主函数main()的内容。- int jsValue(long n) /* 标准答案 */ int I,strl,half; char xy20; ltoa(n,xy,10); strl=strlen(xy); half=strl/2; for(I=0;I=half) return 1; else return 0; 33:请编制函数ReadDat()实

27、现从文件IN.DA T 中读取 1000 个十进制整数到数组xx 中;请编制函数 Compute() 分别计算出xx 中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc 的值 ,最后调用函数WriteDat() 把结果输出到OUT.DAT 文件中。 计算方差的公式如下:totfc=1/N (xxi -ave1)2 设 N 为奇数的个数 ,xxi 为奇数 ,ave1 为奇数的平均值。原始数据文件存放的格式是:每行存放 10 个数 ,并用逗号隔开。(每个数均大于0 且小于等于2000) 注意:部分源程序已给出。请勿改动主函数main()和输出数据函数writ

28、eDat() 的内容。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 14 页- int ReadDat(void) /* 标准答案 */ FILE *fp; int I,j; if(fp=fopen(IN.DAT,r)=NULL) return 1; for(I=0;I100;I+) for(j=0;j10;j+) fscanf(fp, %d, &xxI*10+j); fscanf(fp, n); if(feof(fp) break; fclose(fp); return 0; void Compute(void) int I, yy

29、MAX; for(I=0;I1000;I+) if(xxI%2)odd+;ave1+=xxI; elseeven+;ave2+=xxI; yyeven-1=xxI; ave1/=odd; ave2/=even; for(I=0;Ieven;I+) totfc+=(yyI-ave2)*(yyI-ave2)/even; 34:下列程序的功能是:选取出 100 以上 1000 以内所有个位数字与十位数字之和被10 除所得余数恰是百位数字的素数(如 293)。 计算并输出上述这些素数的个数CNT 以及这些素数值的和 SUM 。 请编写函数COUNTvalue() 实现程序要求,最后调用函数WRITED

30、AT() 把结果 CNT和 SUM 输出到文件OUT.DAT 中. 注意:部分源程序已给出。请勿改动主函数main()和函数 readwriteDA T() 的内容。- 类型:素数。void countValue() /* 标准答案 */ int I,j,half,hun,ten,data; for(I=101;I1000;I+) hun=I/100; ten=I%100/10; data=I%10; if(hun=(ten+data)%10) half=I/2; for(j=2;j=half) cnt+;sum+=I; 35:某级数的前两项A1=1,A2=1, 以后各项具有如下关系:An=A

31、n-2+2An-1. 下列程序的功能是: 要求依次对于整数M=100,1000 和 10000 求出对应的n值,使其满足:Sn=M,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 14 页这里 Sn=A1+A2+.+An, 并依次把 n 值存入数组单元b0,b1 和 b2 中,请编制 jsvalue()函数来实现此功能 , 最后调用函数writeDat() 把数组 b中的值输出到out.dat 文件中。注意 : 部分源程序存在文件PROG1.C 文件中。请勿改动主函数main()和写函数writeDat() 的内容。- void jsv

32、alue() /* 标准答案 */ int a1=1,a2=1,n=1,an; int sum0,sum; sum0=a1+a2; while(1) an=a1+a2*2; sum=sum0+an; a1=a2; a2=an; n+; if (sum0100) b0=n; if (sum01000) b1=n; if (sum010000) b2=n; break; sum0=sum; jsvalue() int a1=1,a2=1,a12,sn,k=2; sn=a1+a2; while(1) a12=a1+2*a2; if(sn=100) b0=k; if(sn=1000) b1=k; if

33、(sn=10000) b2=k;break; sn=sn+a12; a1=a2;a2=a12; k+; 39:对 10 个候选人进行选举,现有一个100 条记录的选票数据文件IN.DA T,其数据存放的格式是每条记录的长度均为10 位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况 ,依此类推:内容均为字符0 和 1,1 表示此人被选中,0 表示此人未被选中,全选或不选均为无效的选票.。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx 中。请编制函数 CountRs()来统计每个人的选票数并把得票数依次存入yy0 到 yy9 中。把结果 yy 输出到文件 OUT.D

34、A T 中。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat() 的内容。- 类型:选票问题。void CountRs(void) /* 标准答案 ,有问题 !*/ int I,j=0,k=0; char *str; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 14 页for(I=0;I10;I+) yyI=0; for(I=0;I=1000&3*I/2999|3*I/29999) break; 57:设有 n 个人围坐一圈并按顺时针方向从1 到 n编号 ,从第 s个人

35、开始进行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为止。部分源程序

36、已给出。请勿改动主函数main()和输出数据函数writeDat() 的内容。- void Josegh(void) /* 标准答案 */ int I,j,k,s1,w; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 14 页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; 63:下列程序的功能是:把 S字符串中的所有字符左移一个位置,串中的第一个字符移到最后.请编写函数CHG(CHAR

37、*S) 实现程序要求 ,最后调用函数READWRITEDAT()把结果输出到OUT.DAT 文件中 . 例如 :S 字符串中原有内容为:Mn.123xyZ, 则调用函数后,结果为 :n.123xyZM. 注意:部分源程序已给出。请勿改动主函数main()和输出数据函数readwriteDat() 的内容。- void chg(char*s) /* 标准答案 */ int I,strl; char ch; strl=strlen(s); ch=*s; for(I=0;Istrl-1;I+) *(s+I)=*(s+I+1); *(s+strl-1)=ch; 66:下列程序的功能是:计算500-80

38、0 区间内素数的个数cnt,并按所求素数的值从大到小的顺序 ,再计算其间隔加、减之和,即第 1 个素数 -第 2 个素数 +第 3 个素数 -第 4 个素数 +第 5 个素数 的值 sum。请编写函数countvalue() 实现程序的要求,最后调用函数writedat()把结果cnt 和 sum,输出到文件out11.dat 中。注意:部分源程序已给出。请勿改动主函数main()和输出数据函数writedat() 的内容。- void countValue() /* 标准答案 ,有问题 */ int I,j,half,yy100; for(I=500;I=800;I+) half=I/2;

39、for(j=2;j=half) yycnt=I;cnt+; for (I=0,j=-1;Icnt;I+) j=j*-1; sum+=j*yyI; /*此处有误 ! 应为: sum+=j*yyI;j=j*-1; */ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 14 页88:函数 READDA T()实现从文件IN.DAT 中读取一篇英文文章存入到字符串数组XX 中;请编制函数SORTCHARA(), 其函数功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX 中,最后调用函数WRITEDAT(

40、) 把结果 XX 输出到文件 OUT1.DAT . 例:原文 :dAe,BfC.CCbbAA 结果 : ABCdef AACCbb 原始数据文件存放的格式是: 每行的宽度均小于80 个字符 , 含标点符号和空格。注意 : 部分源程序存放在PROG1.C 中。请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。- 类型:字符串(单词 )的倒置和删除。void ConvertCharA(void)/*标准答案 */ int I,j,k,strl; char ch; for(I=0;Imaxline;I+) strl=strlen(xxI); for

41、(j=0;jstrl-1;j+) for(k=j+1;kxxIk) ch=xxIj; xxIj=xxIk; xxIk=ch; 89:已知数据文件IN.DA T 中存有 200 个四位数 , 并已调用读函数readDat()把这些数存入数90:下列程序的功能是:将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比 K1 小的数都在K1 的左面 (后继的再向U 左存放 ),比 K1 大的数都在K1 的右面 (后续的再向右存放 ),从 k1 想右扫描。要求编写函数jsvalue()实现此功能 ,最后调用 writeDat() 函数所新序列输出到文件out.dat 中。说明:在程序中

42、已给出了10 个序列 ,每个序列有9 个正整数 ,并存入数组a109 中,分别求出这 10 个新序列。例:序列 6,8,9,1,2,5,4,7,3 经重排后成为 3,4,5,2,1,6,8,9,7 注意:部分源程序已给出。请勿改动主函数main()和写函数writeDat() 的内容。- jsValue(int a109) /*标准答案 */ int value,I,j,k,num; for(I=0;I10;I+) value=aI0; for(j=0;j9;j+) if (aIj0;k-) num=aIj; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -

43、- -第 13 页,共 14 页for(k=j;k0;k-) aIk=aIk-1; aI0=num; 100:函数READDAT() 实现从文件IN.DA T 中读取一篇英文文章存入到字符串数组XX 中;请编制函数CHA(), 其函数功能是 :以行为单位把字符串中的最后一个字符的ASCII 值右移 4位后加最后第二个字符的ASCII 值 ,得到最后一个新的字符,最后第二个字符的ASCII 值右移4 位后加最后第三个字符的ASCII 值,得到最后第二个新的字符,依此类推一直处理到第二个字符 ,第一个字符的ASCII 值加原最后一个字符的ASCII 值,得到第一个新的字符,得到的新字符分别存放在原

44、字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat() 把结果 xx 输出到文件OUT10.DAT 中。原始数据文件存放的格式是:每行的宽度均小于80 个字符 ,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat() 的内容。- void CharConvA(void) /*标准答案 */ int I,j,strl; char ch; for(I=0;I0;j-) xxIj=4; xxIj+=xxIj-1; xxI0+=ch; void CharConvA(void) int i,j; char p,c; for(i=0;i0;j-) xxij=(xxij4)+xxij-1; xxi0=p+c; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 14 页

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁