最新9月计算机等级考试三级上机题库_第1页
最新9月计算机等级考试三级上机题库_第2页
最新9月计算机等级考试三级上机题库_第3页
最新9月计算机等级考试三级上机题库_第4页
最新9月计算机等级考试三级上机题库_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第一套:#include #include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar()void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; encryptChar() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; unsigned char *p ; if(fp =

2、 fopen(K:k8535002926in.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(K:k8535002926out.dat, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %s

3、n, xxi) ; fclose(fp) ;答案:int I; char *pf; for(I=0;I=0&*pf*11%256=9)|*pf*11%256=32) pf+;continue; *pf=*pf*11%256; pf+; 第二套#include #include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar()void main() if(ReadDat() printf(数据文件IN.DAT

4、不能打开!n007) ; return ; encryptChar() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; unsigned char *p ; if(fp = fopen(K:k8535001218in.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) F

5、ILE *fp ; int i ; fp = fopen(K:k8535001218out.dat, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ;/*标准答案*/void encryptChar() int I; char *pf; for(I=0;I130|*pf*11%256=32); else *pf=*pf*11%256; pf+; 第三套:#include #include char xx10011 ;int yy10 ;int ReadDat(void

6、) ;void WriteDat(void) ;void CountRs(void) /* 每一条记录的选票情况已作为字符串存入xxi为起始地址的存储单元内 */ /* 例如:第10条记录的第一个候选人的选中情况的条件是 if(xx90=1) */ /* 该提示仅供解题参考,考生也可用其他方法解题 */void main() int i ; for(i = 0 ; i 10 ; i+) yyi = 0 ; if(ReadDat() printf(选票数据文件IN.DAT不能打开!007n) ; return ; CountRs() ; WriteDat() ;int ReadDat(void)

7、 FILE *fp ; int i ; char tt13 ; if(fp = fopen(K:k8535001212IN.DAT, r) = NULL) return 1 ; for(i = 0 ; i 100 ; i+) if(fgets(tt, 13, fp) = NULL) return 1 ; memcpy(xxi, tt, 10) ; xxi10 = 0 ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(K:k8535001212OUT.DAT, w) ; for(i = 0 ; i

8、 10 ; i+) fprintf(fp, %dn, yyi) ; printf(第%d个人的选票数=%dn, i + 1, yyi) ; fclose(fp) ;*标准答案,void CountRs(void) / char *pf; for(I=0;I10;I+) yyI=0; for(I=0;I5) pf=xxI; j=0; while (*pf) if (*pf=1) yyj+=1;j+;pf+; else if (*pf=0) pf+;j+; 第四套:#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat() ;v

9、oid jsVal()void readDat() int i ; FILE *fp ; fp = fopen(K:k8535001210in.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() ;void writeDat() FILE *fp ;

10、 int i ; fp = fopen(K:k8535001210out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ;/*标准答案*/void jsVal() int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I200;I+) thou=aI/1000; hun=aI%1000/100; ten=aI%100/10; data=aI%10; ab=10*thou+ten; cd=10*data+hun; if(a

11、b-cd)0&ab%2=1&ab%5!=0)&cd%2!=1&ab!=0&cd!=0) bcnt=aI;cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jcnt;j+) if(bIbj) data=bI;bI=bj;bj=data; 第五套#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat() ;void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(K:k8535001128in.dat, r) ; for(i = 0 ; i MAX ;

12、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() ;void writeDat() FILE *fp ; int i ; fp = fopen(K:k8535001128out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf

13、(fp, %dn, bi) ; fclose(fp) ;/*标准答案*/ void jsVal()int bb4; int I,j,k,flag; for (I=0;I200;I+) bb0=aI/1000; bb1=aI%1000/100; bb2=aI%100/10; bb3=aI%10; for (j=0;j4;j+) if (bbj%2=0) flag=1; else flag=0;break; if (flag=1) bcnt=aI; cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jcnt;j+) if (bIbj) k=bI;bI=bj;bj=k; 第六套:

14、#include #include #include #define N 81void readwriteDAT();void chg(char *s)main( ) char aN; printf(Enter a string : ); gets(a); printf(The original string is : ); puts(a); chg(a); printf(The string after modified : ); puts (a); readwriteDAT() ;void readwriteDAT() int i ; char aN ; FILE *rf, *wf ; r

15、f = fopen(K:k8535001110in.dat, r) ; wf = fopen(K:k8535001110out.dat, w) ; for(i = 0 ; i =a&*s=A&*s=Y) *s+=1;s+; else s+; 第七套已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到OUT.DAT文件。 例如:71

16、53,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 8129,8+12+9,则该数不满足条件计算平均值pjz2. 注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:cnt ,pjz1,pjz2请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。#include int a300, cnt=0 ;double pjz1=0.0, pjz2=0.0 ;void readDat();void writeDat();void jsValue()void main() readDat() ; jsValue() ; wri

17、teDat() ; printf(cnt=%dn满足条件的平均值pzj1=%7.2lfn不满足条件的平均值pzj2=%7.2lfn, cnt,pjz1,pjz2);void readDat() FILE *fp ; int i ; fp = fopen(K:k8535001103in.dat,r) ; for(i = 0 ; i 300 ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void writeDat() FILE *fp ; fp = fopen(K:k8535001103out.dat,w) ; fprintf(fp, %dn%7.2lfn%7.2

18、lfn, cnt, pjz1, pjz2) ; fclose(fp) ;/*标准答案*/void jsValue() int I,thou,hun,ten,data,n=0; for(I=0;I=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到 OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt

19、请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 #include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat() ;void jsVal()void readDat() int i ; FILE *fp ; fp = fopen(K:k8535002820in.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ;

20、 jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;void writeDat() FILE *fp ; int i ; fp = fopen(K:k8535002820out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ;/*标准答案*/void jsVal() int I,thou,hun,ten,d

21、ata,j; int ab,cd; for(I=0;I=0&(ab-cd)=10&ab%2=1&cd%2=1&ab!=0&cd!=0) bcnt=aI;cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jcnt;j+) if(bIbj) data=bI; bI=bj;bj=data; 第九套:#include #include void ReadWrite();int findStr(char *str,char *substr)main() char str81, substr3 ; int n ; printf(输入原字符串:) ; gets(str) ; printf

22、(输入子字符串:) ; gets(substr) ; puts(str) ; puts(substr) ; n=findStr(str, substr) ; printf(n=%dn, n) ; ReadWrite() ;void ReadWrite() char str81, substr3, ch; int n, len, i = 0; FILE *rf, *wf ; rf = fopen(K:k8535002907in.dat, r) ; wf = fopen(K:k8535002907out.dat, w) ; while(i 5) fgets(str, 80, rf) ; fgets

23、(substr, 10, rf) ; len = strlen(substr) - 1 ; ch = substrlen ; if(ch = n | ch = 0x1a) substrlen = 0 ; n=findStr(str, substr); fprintf(wf, %dn, n) ; i+ ; fclose(rf) ; fclose(wf) ;标准答案: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+;

24、 p+; else break; if(*r=0) n+; str+; return n; 第十套:#include #include #include unsigned char xx5080 ;int maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar()void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; encryptChar() ; WriteDat() ;int ReadDat(void) FIL

25、E *fp ; int i = 0 ; unsigned char *p ; if(fp = fopen(K:k8535002914in.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fopen(K:k8535002914out.dat, w) ; for(i = 0 ; i m

26、axline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ;/*标准答案*/void encryptChar() int I; char *pf; for(I=0;I=0&*pf=9)|*pf*11%256=32) pf+;continue; *pf=*pf*11%256; pf+; 第十一套已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的

27、值,十位数字上的值大于等于个位数字上的值,并且此四位数是奇数,则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。注意: 部分源程序存在文件PROG1.C文件中。程序中已定义数组: a200, b200, 已定义变量: cnt 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void writeDat();void

28、 jsVal()void readDat() int i ; FILE *fp ; fp = fopen(K:k8535003017in.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() ;void writeDat() FILE *fp ; in

29、t i ; fp = fopen(K:k8535003017out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ;/*标准答案*/void jsVal() int I,thou,hun,ten,data,j; for(I=0;I=hun)&(hun=ten)&(ten=data)&aI%2!=0) bcnt=aI;cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jbj) data=bI;bI=bj;bj=data; 第十二套:函数Re

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

31、处理后字符串 h g f e d c b a 8 7 6 5 9 4 3 2 1 部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。#include #include char xx2080 ;void readDat();void writeDat();void jsSort() /* 第i行文章的内容已作为字符串存入xxi为起始地址的存储单元内 */ /* 提示:先对字符串左边部分的字符数组进行降序排序,左边部分字符数组对应的下标从0到strlen(xxi)/2-1。 */ /* 该提示仅供解题参考,考生也可用其他方法解题

32、*/void main() readDat() ; jsSort() ; writeDat() ;void readDat() FILE *in ; int i = 0 ; char *p ; in = fopen(K:k8535003101in.dat, r) ; while(i 20 & fgets(xxi, 80, in) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; fclose(in) ;void writeDat() FILE *out ; int i ; out = fopen(K:k8535003101out.dat, w)

33、 ; for(i = 0 ; i 20 ; i+) printf(%sn, xxi) ; fprintf(out, %sn, xxi) ; fclose(out) ;/*标准答案*/void jsSort() int I,j,k,strl,half; char ch; for(I=0;I20;I+) strl=strlen(xxI); half=strl/2; for(j=0;jhalf-1;j+) for(k=j+1;khalf;k+) if (xxIj=0;j-,k-) ch=xxIj;xxIj=xxIk;xxIk=ch; 第十三套:#include int cnt, sum ;void

34、writeDAT();void countValue()void main() cnt = sum = 0 ; countValue() ; printf(素数的个数=%dn, cnt) ; printf(满足条件素数值的和=%d, sum) ; writeDAT() ;void writeDAT() FILE *fp ; fp = fopen(K:k8535000327out.dat, w) ; fprintf(fp, %dn%dn, cnt, sum) ; fclose(fp) ;/*标准答案*/void countValue() int I,j,half,hun,ten,data; fo

35、r(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; 第十四套:#include #include #include #define MAX 1000int xxMAX, odd = 0, even = 0 ;double aver = 0.0 , totfc = 0.0 ;void WriteDat(void) ;int ReadDat(void) FILE *fp ; int i ; if(fp = fopen(K:

36、k8535002813IN.DAT, r) = NULL) return 1 ; for(i = 0 ; i MAX ; i+) fscanf(fp, %d, &xxi) ; fclose(fp) ; return 0 ;void Compute(void)void main() int i ; for(i = 0 ; i MAX ; i+) xxi = 0 ; if(ReadDat() printf(数据文件IN.DAT不能打开!007n) ; return ; Compute() ; printf(ODD=%dnEVEN=%dnAVER=%lfnTOTFC=%lfn, odd, even,

37、 aver, totfc) ; WriteDat() ;void WriteDat(void) FILE *fp ; fp = fopen(K:k8535002813OUT.DAT, w) ; fprintf(fp, %dn%dn%lfn%lfn, odd, even, aver, totfc) ; fclose(fp) ;/*标准答案*/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*1

38、0+j); fscanf(fp, n); if(feof(fp) break; fclose(fp); return 0; void Compute(void) int I, yyMAX; for(I=0;I1000;I+) if(xxI%2)odd+;ave1+=xxI;yyodd-1=xxI; elseeven+;ave2+=xxI; ave1/=odd; ave2/=even; for(I=0;Iodd;I+) totfc+=(yyI-ave1)*(yyI-ave1)/odd; 第十五套:#include #include #include unsigned char xx5080 ;i

39、nt maxline = 0 ; /* 文章的总行数 */int ReadDat(void) ;void WriteDat(void) ;void encryptChar() /* 第i行内容已作为字符串存入xxi为起始地址的存储单元内 */ /* 请使用中间变量来存放替代关系处理后的值val */ /* 例如: val = (xxij * 17) % 256 ; */ /* 该提示仅供解题参考,考生也可用其他方法解题 */ unsigned int val ;void main() if(ReadDat() printf(数据文件IN.DAT不能打开!n007) ; return ; enc

40、ryptChar() ; WriteDat() ;int ReadDat(void) FILE *fp ; int i = 0 ; unsigned char *p ; if(fp = fopen(K:k8535000414in.dat, r) = NULL) return 1 ; while(fgets(xxi, 80, fp) != NULL) p = strchr(xxi, n) ; if(p) *p = 0 ; i+ ; maxline = i ; fclose(fp) ; return 0 ;void WriteDat(void) FILE *fp ; int i ; fp = fo

41、pen(K:k8535000414out.dat, w) ; for(i = 0 ; i maxline ; i+) printf(%sn, xxi) ; fprintf(fp, %sn, xxi) ; fclose(fp) ;/*标准答案,void encryptChar() int I; char *pf; for(I=0;Imaxline;I+) pf=xxI; while(*pf!=0) if(*pf*17%256)%2!=0)|*pf*17%256=32) pf+;continue; *pf=*pf*11%256; pf+; 第十六套:#include #include typede

42、f struct int x1, x2, x3 ; Data ;Data aa200, bb200 ;void readDat();void writeDat(int count);int jsSort()void main() int count ; readDat() ; count = jsSort() ; /* 返回满足条件的个数 */ writeDat(count) ;void readDat() FILE *in ; int i ; in = fopen(K:k8535000426in.dat, r) ; for(i = 0 ; i 200 ; i+) fscanf(in, %d,%d,%d, &aai.x1, &aai.x2, &aai.x3) ; fclose(in) ;void writeDat(int count) FILE *out ; int i ; out = fopen(K:k8535000426out.dat, w) ; for(i = 0 ; i count ; i+) printf(%d,%d,%d 第二个数+第三个数=%dn, bbi.x1, bbi.x2, bbi.x3, bbi.x2+bbi.x3) ;

温馨提示

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

评论

0/150

提交评论