计算机等级考试最新上机考试南开一百题版(完整解析版)

上传人:ni****g 文档编号:473035442 上传时间:2024-02-01 格式:DOC 页数:40 大小:362.01KB
返回 下载 相关 举报
计算机等级考试最新上机考试南开一百题版(完整解析版)_第1页
第1页 / 共40页
计算机等级考试最新上机考试南开一百题版(完整解析版)_第2页
第2页 / 共40页
计算机等级考试最新上机考试南开一百题版(完整解析版)_第3页
第3页 / 共40页
计算机等级考试最新上机考试南开一百题版(完整解析版)_第4页
第4页 / 共40页
计算机等级考试最新上机考试南开一百题版(完整解析版)_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《计算机等级考试最新上机考试南开一百题版(完整解析版)》由会员分享,可在线阅读,更多相关《计算机等级考试最新上机考试南开一百题版(完整解析版)(40页珍藏版)》请在金锄头文库上搜索。

1、南开一百题2012版(完整解析版)1、下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx)实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件out.dat中。 例如:若输入17,5,则应输出:19,23,29,31,37。#include #include void readwriteDAT() ;int isP(int m) int i ; for(i = 2 ; i m ; i+) if(m % i = 0) return 0 ; return 1 ;1:void num(int m,int k,in

2、t xx) int data=m+1; int half,n=0,I; while(1) half=data/2;for(I=2;Ihalf) xxn=data;n+; if(n=k)break; data+; 或者:void num(int m,int k,int xx)int i,j,s=0;for(i=m+1;k0;i+)for(j=2;j0;m+)if(isP(m) xxi+=m; k-; main() int m, n, xx1000 ; clrscr() ; printf(nPlease enter two integers:) ; scanf(%d,%d, &m, &n ) ;

3、num(m, n, xx) ; for(m = 0 ; m n ; m+) printf(%d , xxm) ; printf(n) ; readwriteDAT() ;void readwriteDAT() int m, n, xx1000, i ; FILE *rf, *wf ;rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %d %d, &m, &n) ; num(m, n, xx) ; for(m = 0 ; m n ; m+) fprintf(wf, %d , xxm

4、) ; fprintf(wf, n) ; fclose(rf) ; fclose(wf) ;2、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。#include #define MAX 200int aMAX, bMAX, cnt = 0;2:void j

5、sVal() /*标准答案*/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; void readDat() int i ; FILE *fp ; fp = fo

6、pen(in.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() ;writeDat() FILE *fp ; int i ; fp = fopen(out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ;

7、i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ; 3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:You can create an index on any field. you have the

8、 correct record. 结果: n any field.Yu can create an index rd.yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。试题程序:# includestdio.h# includestring.h# includeconio.hchar xx5080;int maxline=0; /*文件的总行数*/int ReadDat(void);void WriteDat(void);3:void StrOR(void) int I,j,k,index,strl; char ch; for(

9、I=0;Imaxline;I+) strl=strlen(xxI); index=strl; for(j=0;jstrl;j+) if(xxIj=o) for(k=j;k=index;j-)ch=xxIstrl-1; for(k=strl-1;k0;k-)xxIk=xxIk-1;xxI0=ch; 或者:void StrOR(void) int i; char a80,*p; for(i=0;imaxline;i+) p=strchr(xxi,o); while(p) memset(a,0,80); memcpy(a,xxi,p-xxi); strcpy(xxi,p+1); strcat(xxi

10、,a); p=strchr(xxi,o); void main()clrscr();if(ReadDat()printf(数据文件IN.DAT不能打开!n007);return;StrOR();WriteDat();int ReadDat(void)FILE *fp;int i=0;char *p;if(fp=fopen(in.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

11、*fp;int i;fp=fopen(OUT.DAT,w);for(i=0;imaxline;i+)printf(%sn,xxi);fprintf(fp,%sn,xxi);fclose(fp);4:函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数StrOL( ), 其函数的功能是: 以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT6.DAT中。 例如: 原文: You He

12、 Me I am a student. 结果: Me He You student a am I 原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格。试题程序:# includestdio.h# includestring.h# includeconio.h# includectype.hchar xx5080;int maxline=0;int ReadDat(void);void WriteDat(void);4:void StrOL(void) /*标准答案int I,j,k,strl,l;char c;for(I=0;Imaxline;I+) for(j=0;j=A&c=a&c=z)|c= ) ; else xxIj= ; for(l=0;lmaxline;l+)char ch80=0; char

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

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号