国家计算机三级考试C语言上机练习册.pdf

上传人:文*** 文档编号:88049015 上传时间:2023-04-20 格式:PDF 页数:166 大小:17.22MB
返回 下载 相关 举报
国家计算机三级考试C语言上机练习册.pdf_第1页
第1页 / 共166页
国家计算机三级考试C语言上机练习册.pdf_第2页
第2页 / 共166页
点击查看更多>>
资源描述

《国家计算机三级考试C语言上机练习册.pdf》由会员分享,可在线阅读,更多相关《国家计算机三级考试C语言上机练习册.pdf(166页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、全国计算机等级考试(NCRE)为中国教育部考试中心主办,各地市承办的社会类计算机认证考试。NCRE自1994年开考至2010年底,近 2000万人获取证书。NCRE考试是我国范围内最权威的计算机认证考试,NCRE证书已经成为求职者计算机水平的重要凭证,更成为政府机关、企事业单位招聘员工的重要依据之一。泽天计算机职业学校自2003年开设NCRE培训以来,至今已经成为牡丹江地区办学规模最大、师资力量最强、通过比例最高的计算机专业培训机构。2011年 3 月份第33次全国计算机等级考试中,牡丹江地区共1629名二级考生(含泽天 283人),其中398人获取证书(含泽天146人),牡丹江地区二级通过率

2、为24.43%,泽天二级通过率为51.59%,泽天考生三级过级率高于牡丹江地区三级考生过级率27.16个百分点。2011年 3 月份第33次全国计算机等级考试中,牡丹江地区共217()名三级考生(含泽天 803人),其中897人获取证书(含泽天509人),牡丹江地区三级过级率为41.34%,泽天通过率为63.39%,泽天考生三级过级率高于牡丹江地区三级考生过级率22.05个百分点。本书针对“国家三级网络技术”考生复习上机部分而编写的,书中包含考试题库中所有考试真题,所有习题均附有参考答案。编者2011年 6 月目录第001套.1第002套.2第003套.3第004套.4第005套.5第006套

3、.7第007套.9第008套.11第009套.12第010套.14第011套.16第012套.18第013套.19第014套.21第015套.22第016套.24第017套.25第018套.26第019套.27第020套.29第021套.30第022套.32第023套.33第024套.35第025套.36第026套.38第027套.40第028套.41第029套.43第030套.44第031套.46第032套.47第033套.50第034套.51第035套.53第036套.55第037套.57第038套.58第039套.60第040套.62第041套.63第042套.64第043套.65第04

4、4套.66第045套.68第046套.70第047套.72第048套.73第049套.75第050套.77目录第051套.78第052套.79第053套.80第054套.82第055套.84第056套.85第057套.87第058套.89第059套.90第060套.92第061套.94第062套.96第063套.98第064套.99第 065 套.101第 066 套.103第 067 套.104第 068 套.106第 069 套.107第 070 套.109第 071 套.111第 072 套.112第 073 套.114第 074 套.116第 075 套.117第 076 套.119第

5、 077 套.120第 078 套.121第 079 套.123第 080 套.124第 081 套.126第 082 套.128第 083 套.129第 084 套.131第 085 套.133第 086 套.135第 087 套.137第 088 套.139第 089 套.140第 090 套.142第 091 套.143第 092 套.144第 093 套.146第 094 套.147第 095 套.149第 096 套.151第 097 套.152第 098 套.154第 099 套.156第 100 套.157泽天权威认证教材一三级C语言上机真题集第1套【试题要求】程序p r o g

6、 l.c的功能是:计算5 0 0-8 0 0区间内素数的个数e n t,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数的值s u m。请编写c o u n t V a l u e()实现程序的要求,最后m a i n。函数调用函数w r i t e D A T()把结果e n t和sum,输出到文件o u t.d a t中。注意:部分源程序存放在文件p r o g l.c中请勿改动主函数m a i n ()和输出数据函数w r i t e D A T的内容【源程序】#i n c l u d e i n t e n t,s u

7、m;v o i d w r i t e D A T O;v o i d c o u n t V a l u e Ov o i d m a i n Oe n t =s u m =0 ;c o u n t V a l u e O ;p r i n t f(素数的个数二%八1 1 ,e n t);p r i n t f(按要求计算的值=%d n”,s u m);w r i t e D A T O ;)v o i d w r i t e D A T OF I L E *f p ;f p =f o p e n(c A w e x a m 359 9 0001 o ut.d a tu,nwn);f p r

8、 i n t f(f p,M%d n%d nu,e n t,s u m);f c l o s e(f p);)【标准答案】vo i d c o un t V a l ue O(i n t n,i;f o r(n=800;n =500;n )f o r(i=2;i n-l)(c n t+;i f(c n t%2!=0)s um=s um+n;泽天权威认证教材一三级C语言上机真题集e l s es u m=s u m-n;)第2套【试题要求】程序p r o g l.c的功能是:计算出自然数s i x和n i n e满足条件s i x+s i x+s i x=n i n e+n i n e的个数e

9、n t,以及满足条件所有的s i x与n i n e的和s u m。请编写函数c o un t V a l ue()实现程序的要求,最后m a i n()函数调用函数w r i t e D A T()把结果e n t和s um,输出到文件o ut.d a t中。其中的s,L x,n,e各代表一个十进制数字,允许代表的数字相同,但s和n不能为0。例如:9 44+9 44+9 44=1416+1416注意:部分源程序存放在文件p r o g l.c中请勿改动主函数m a i n ()和输出数据函数w r i t e D A T的内容【源程序】#i n c l ud e i n t e n t,s

10、um ;vo i d w r i t e D A T O ;vo i d c o un t V a l ue Ovo i d m a i n O(e n t =s um =0;c o un t V a l ue O ;p r i n t f(满足条件的个数=%d n,e n t);p r i n t f(满足条件所有的S I X与NI N E的和二%d n”,s u m);w r i t e D A T O ;)vo i d w r i t e D A T O(F I L E *f p ;f p =f o p e n(c:ve x a m 359 9 00()l o ut.d a t,w);f

11、 p r i n t f(f p,M%d n%d nu,e n t,s u m);f c l o s e(f p);)【标准答案】vo i d c o un t V a l ue Oi n t s i x,n i n e;i n t m,n,p,q;f o r(s i x=100;s i x =1000&n i n e =9 9 9 9&3*s i x=2*n i n e)(s um=s um+s i x+n i n e;c n t+;)第3套【试题要求】请编写函数vo i d c o un t V a l ue(i n t *a,i n t *n),它的功能是:求 出1到1 0 0 0之间能

12、被7或1 1整除但不能同时被7和1 1整除的所有整数,其结果按从小到大的顺序放在数组a中,并通过形式参数n传递这些数的个数。注意:部分源程序存放在文件p r o g l.c中请勿改动主函数m a i n ()和输出数据函数w r i t e D A T的内容【源程序】#i n c l ud e#i n c l ud e vo i d w r i t e D A T O ;vo i d c o un t V a l ue(i n t *a,i n t *n)m a i n()i n t a a 1000,n,k ;c o un t V a l ue(a a,&n );f o r(k =0;kn;

13、k+)i f(k +1)%10=0)p r i n t f(%5d nH,a a k );e l s e p r i n t f(H%5 dn,a a k );w r i t e D A T O ;vo i d w r i t e D A T O(i n t a a 1000,n,k ;F I L E *f p ;f p =f o p e n(Mc A w e x a m 359 9 000l Wo ut.d a t1,nwH);c o un t V a l ue(a a,&n);f o r (k =0;kn;k+)i f(k +1)%10=0)f p r i n t K f p,n%5d n

14、M,a a k );泽天权威认证教材一三级C语言上机真题集e l s e f p r i n t f(f p,%5d,a a k );f c l o s e(f p);【标准答案】vo i d c o un t V a l ue(i n t *a,i n t *n)(i n t m,c n t=0;f o r(m=l;m 1 0 0 0;m+)i f(m%7=0|I m%l l=0)&m%77!=0)a c n t =m;c n t+;)*n=c n t;)第4套【试题要求】已知数据文件i n.d a t中存有3 0 0个四位数,并已调用读函数r e a d D a t()把这些数存入数组a中

15、,请编制一函数j s V a l ue(),其功能是:求出千位数上的数加百位数上数等于十位数上的数加个位数上的数的个数e n t,再把所有有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后m a i n()函数调用写函数w r i t e D a K )把数组b中的数输出到文件o ut.d a t中。例如:7153,7+1=5+3,则该数满足条件存放数组b中,且个数c n t=c n t+1.8129,8+1!=2+9,则该数不满足条件忽略.注意:部分源程序存在文件p r o g l.c文件中。程序中已定义数组:a 300,b 300,已定义变量:e n

16、t请勿改动数据文件i n.d a t中的任何数据、主函数m a i n()、读函数r e a d D a t C )和写函数w r i t e D a t()的内容。【试题要求】#i n c l ud e i n t a 300,b 300,c n t=0;vo i d r e a d D a t O;vo i d w r i t e D a t O;j s V a l ue O)m a i n Oi n t i ;r e a d D a t O Jj s V a l ue O ;w r i t e D a t O ;p r i n t f()c n t=%d n ,e n t);泽天权威认证

17、教材一三级C语言上机真题集f o r(i =0;i e n t ;i+)p r i n t f(ub%d =%d nM,i,b i );)vo i d r e a d D a t OF I L E *f p ;i n t i ;f p =f o p e n(c:w e x a m 359 9 0001 i n.d a t”/T);f o r(i =0;i 300;i+)f s c a n f(f p,u%d,n,&a i );f c l o s e(f p);)vo i d w r i t e D a t OF I L E *f p ;i n t i ;f p =f o p 6n(c:w e

18、x a m 359 9 0001 o ut.d a t,”w );f p r i n t f C f p,M%d nM,e n t);f o r d =0;i e n t ;i+)f p r i n t f(f p,M%d nH,b i );f c l o s e(f p);)【标准答案】j s V a l ue O(i n t i,m,n,p,q;f o r(i=0;i 300;i+)(m=a i /1000;n=a i%1000/100;p=a i%100/10;q=a i%10;i f(m+n=p+q)(b c n t =a i ;c n t+;)f o r(i=0;i c n t-l;

19、i+)f o r(m=0;m c n t-l-i;m+)i f(b m 0,则该数满足条件,参加计算平均值p j z l,且个数c n t=c n t+l.8129,9-8-1-2 0,则该数不满足条件,参加计算平均值p j z 2.注意:部分源程序存在文件PR 0 GLC文件中。程序中已定义数组:a 300,已定义变量:c n t,p j z l,p j z 2请勿改动数据文件I N.D A T中的任何数据,主函数m a i n。,读函数r e a d D a t O和写函数Wr i t e D a t O的内容。【源程序】#i n c l ud e i n t a 300,c n t=0;

20、d o ub l e p j z l=O.O,p j z 2=0.0;vo i d r e a d D a t O;vo i d w r i t e D a t O;j s V a l ue Om a i n O(r e a d D a t O Jj s V a l ue O ;w r i t e D a t O ;p r i n t f(”c n t=%d n 满足条件的平均值 p z j l=%7.21f n 不满足条件的平均值 p z j 2=%7.21f n,c n t,p j z l.p j z 2);)vo i d r e a d D a t OF I L E *f p ;i n

21、t i ;f p =f o p e n(,c*w e x a m 359 9 0001 i n.d a tn,urn);f o r(i =0;i 300;i+)f s c a n f(f p,n%d,H,&a i );f c l o s e(f p);)vo i d w r i t e D a t OF I L E *f p ;f p =f o p e n(c:w e x a m 359 9 0001 o ut.d a t,w);f p r i n t f(f p,M%d n%7.21f n%7.21f nn,e n t,p j z l,p j z 2);f c l o s e(f p);泽天

22、权威认证教材一三级C语言上机真题集【标准答案】j s va l ue O(i n t i,m,n,p,q;d o ub l e s um l=0,s um 2=0;f o r(i=0;i 0)s um l=s um l+a i ;c n t+;)e l s es um 2=s um 2+a i ;p j z l=s um l/c n t;p j z 2=s um 2/(300-c n t);)第 6 套【试题要求】函数Re a d D a t O 实现从文件I N.D A T 中读取一篇英文文章存入到字符串数组xx中;请编制函数S o r t C h a r A O,其函数的功能是:以行为单位

23、对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组x x 中。最后ma in。函数调用函数W rite D a tO 把结果x x 输出到文件O U T.D A T 中。例:原文:d A e,B f C.C C b b A A结果:,.A B C d e fA A C C b b原始数据文件存放的格式是:每行的宽度均小于8 0 个字符,含标点符号和空格。注意:部分源程序存放在P O R G 1.C 中。请勿改动主函数ma in。,读数据函数R e a d D a tO 和输出数据函数W rite D a tO 的内容。【源程序】#inc lu d e#inc lu d e c

24、 ha r xx5 0 80 ;u nsigne d int ma xline =0 ;/*文章的总行数*/int R e a d D a t(void);void W rite D a t(void);void S ortC ha rA(void)泽天权威认证教材一三级C语言上机真题集)void ma inOif(R e a d D a tO)printf(数据文件I N.D A T不能打开!n0 0 7”);re tu rn;)S ortC ha rA O ;W rite D a tO ;)int R e a d D a t(void)F IL E *f p;int i =0 ;c ha

25、r*p;if(f p=f ope n(Hc A w e x a m 3 5 9 9 0 0 0 lW in.d a t,nrM)=N U L L)re tu rn 1;while(f ge ts(xxi,80,f p)!=N U L L)p=strc hr(xxi,n*);if(p)*p=0 ;i+;ma xline =i ;f c lose(f p);re tu rn 0 ;)void W rite D a t(void)F IL E *f p;u nsigne d int i ;f p=f ope n(,c A we xa m35 990 0 0 1ou t.d a tn,w0);f or

26、d =0 ;i ma xline ;i+)printf(H%s nM,xxi);f printK f p,n%s nH,xxi);)f c lose(f p);【标准答案】void S ortC ha rA(void)(u nsigne d int m,i,j,str;c ha r t;f or(m=0;mma xline;m+)str=strle n(xxm);f or(i=0;istr-l;i+)泽天权威认证教材一三级C语言上机真题集f or(j=0;j xxm j+1)(t=xxm j;xxm j=xxm j+1;xxm j+l=t;)第 7套【试题要求】函数R e a d D a tO

27、 实现从文件I N.D A T 中读取一篇英文文章存入到字符串数组x x 中,请编制函数S orO R O,其函数的功能是:以该文章中的行为单位依次扫描一行字符串中的小写字母。,每次将小写字母。的左右字符串部分作交叉换位,即左边字符串移到小写字母。的右边,而原先右边的则反之,并把小写字母。删除,依次直至这一行中的小写字母。处理完,之后把已处理的字符串仍按行重新存入字符串数组x x 中.最 后 ma in。函数调用函数W rite D a tO 把结果x x 输出到文件O U T.D A T 中.例如原文:y ou ha ve the c orre c t re c ord.第一个 o:u ha

28、 ve the c orre c t re c ord.y第二个 o:rre c t re c ord.y u ha ve the c第三个 o:rd.y u ha ve the c rre c t re c提示:对于每一行字符串数组处理有如下一种递归调用算法可供参考:查找字符串中首个小写字母。,的位置;没 有 找 到,0、则结束递归调用;找 到,。,则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。原始数据文件存放的格式是:每行的宽度均小于8 0 个字符,含标点符号和空格。注意:部分源程序存放在P R 0 G 1.C 中。请勿改动主函数main。,读数据函数ReadDat

29、O和输出数据函数Wr iteDatO的内容。【源程序】#inc lude#inc lude c har x x 5 0 8 0;int max line=0;/*文章的总行数*/int ReadDat(void);void Wr iteDat(void);void Str OR(void)void mainO(if(ReadDatO)p r intf(数据文件IN.DA T不能打开!n007”);r etur n;)Str ORO;泽天权威认证教材一三级C语言上机真题集Wr iteDatO;)int ReadDat(void)FIL E*fp ;int i =0;c har *p ;if(fp

30、 =fop en(Hc.wex amW35 9 9 0001Win.dat,Y1)=N U L L)r etur n 1;while(fgets(x x i,8 0,fp)!=N U L L)p =s tr c hr(x x i,n);if(p)*p =0;i+;)max line=i ;fc los e(fp);r etur n 0;)void Wr iteDat(void)FIL E*fp ;int i ;fp =fop en(,c A wex am35 9 9 0001out.datH,nwu);for d=0;i max line;i+)p r intf(H%s nM,x x i);f

31、p r intf(fp,n%s n,x x i);)fc los e(fp);)【标准答案】void Str OR(void)int m,i,j,k,s tr;c har t8 0;for(m=0;mmax line;m+)for(;)s tr=s tr len(x x m);for(i=0;is tr;i+)if(x x m i=,o*)b r eak;if(is tr)k=0;for(j=i+l;js tr;j+)泽天权威认证教材一 三 级C语言上机真题集tk=xxm j;k+;)for(j=0;ji;j+)tk=xxm j;k+;tk=O;strcpy(xxm,t);)elsebreak

32、;)第8套【试题要求】函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中;请编制函数ChA(),其函数的功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的值,存入数组单元xxi 0中(其中:i是文章中的某行)。第二个字符的ASCH值加第三个字符的ASCII值,得到第二个新的值,存入数组单元xxi 1 中.以此类推一直处理到最后第二个字符,最后一个字符的ASCH值加原第一个字符的ASCII值,得到最后一个新的值,存放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新存入无符号字符串数组xx中。最后m

33、ain()函数调用函数writeDat()把结果xx输出到0UT.DAT文件中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。并也按它的ASCII值作以上处理。注意:部分源程序存放在P0RGLC中。请勿改动主函数main。,读数据函数ReadDatO和输出数据函数WriteDat。的内容.【源程序】#include#include unsigned char xx50 80;int maxline=0;/*文章的总行数*/int ReadDat(void);void Writel)at(void);void ChA(void)void mainOif(ReadDatO

34、)泽天权威认证教材一三级C语言上机真题集p r intf(数据文件I N.D A T不能打开!n007 );r etur n;)C h A O ;Wr iteDatO;)int ReadDat(void)FIL E*fp ;int i =0;c har *p ;if(fp =fop en(nc-wex ain35 9 9 0001in.datn,nrM)=N UL L)r etur n 1;while(fgets(x x i,8 0,fp)!=N UL L)p =s tr c hr(x x i,n,);if(p)*p =0;i+;)max line=i ;fc los e(fp);r etur

35、 n 0;void Wr iteDat(void)(FIL E*fp ;int i ;fp =fop en(Mc A wex am35 9 9 0001out.datH,w);for d=0;i max line;i+)p r intf(n%s nM,x x i);fp r intK fp,n%s nH,x x i);)fc los e(fp);)【标准答案】void ChA(void)(int i,j,k,s tr;uns igned c har t;for(i=0;imax line;i+)(s tr=s tr len(x x i);t=x x i 0;for(j=0;js tr-1;j+

36、)x x i j=x x i j+x x i j+1;x x i s tr-l=x x i s tr-l+1;for(j=0,k=s tr-1;jk;j+,k-)泽天权威认证教材一三级C语言上机真题集t=x x i j;x x i j=x x i k;x x ik=t;第9套【试题要求】已知在文件I N.D A T中存有1 0 0个产品销售记录,每个产品销售记录有产品代码d m(字符型4位),产品名称m e (字符型1 0位),单价dj(整形),数量s i(整形),金额je(长整形)五部分组成。其中:金额=单价*数量计算得出。函数R e a dDatO读取这1 0 0个销售记录并存入结构数据s

37、 ell中.请编制函数s or tDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按照产品代码从小到大进行排列,最终排列结果仍存入数组sell中。最后ma in()函数调用函数W riteD a tO把结果输出到文件0U T.DAT中。提示:若中间变量为P R O t e m p,则可以直接使用结构赋值语句进行解题。例如:sell i=temp;注意:部分源程序存放在P O R G 1.C中。请勿改动主函数ma in。,读数据函数R e a d D a tO和输出数据函数W riteD a tO的内容。【源程序】#inc lud e#inc lud e#inc lud e#d e

38、fine MAX 1 0 0ty ped ef struc t c ha r dm 5 ;/*产品代码*/c ha r m e 1 1 ;/*产品名称*/int d j;/*单价*/int si;/*数量*/long je;/*金额*/P R O ;P R O sell MAX;v oid R ea d D a tO ;v oid W riteD a tO ;v oid S ortD a tO)v oid ma inO(memset(sell,0,siz eof(sell);R ea d D a tO ;S ortD a tO ;W riteD a tO ;泽天权威认证教材一三级C语言上机真题

39、集v oid R ea d D a tOF IL E *fp;c ha r str 8 0 ,c h l l ;int i ;fp=fopen(nc A w ex a m 359 9 0 0 0 1 in.d a tn,nrM);for(i=0 ;i 1 0 0 ;i+)(fgets(str,8 0,fp);memc py(sell i.d m,str,4);memc py C sell i.me,str+4,1 0);memc py(c h,str+1 4,4);c h 4 =0 ;sell i.d j=a toi(c h);memc py C c h,str+1 8,5);c h 5 =0

40、 ;sell i.sl=a toi(c h);sell i.je=(long)sellli.d j*sell i.sl;)fc lose(fp);)v oid W riteD a tOF IL E *fp;int i ;fp=fopen(,c A w ex a m 359 9 0 0 0 1 out.d a tH,w );for(i=0 ;i 1 0 0 ;i+)fprintfC fp,%s%s%4 d%5d%1 0 Id nM,sell i.d m,sell i.me,sell i.d j,sell i.slt sell i.je);)fc lose(fp);)【标准答案】v oid S o

41、rtD a tOint i,j;P R O t;for(i=0;i 9 9;i+)for(j=0;j 9 9-i;j+)if(sell j.je 0)(t=sell j;sell j=sell j+1 ;泽天权威认证教材一三级C语言上机真题集sell j+l=t;)第10套【试题要求】已知在文件I N.D A T中存有1 0 0个产品销售记录,每个产品销售记录有产品代码dm(字符型4位),产品名称m e (字符型1 0位),单价d j(整形),数量si(整形),金额je(长整形)五部分组成。其中:金额二单价*数量计算得出。函数R ea d D a tO读取这1 0 0个销售记录并存入结构数据s

42、ell中.请编制函数sortD a t(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按照金额从小到大进行排列,最终排列结果仍存入数组sell中。最后ma in()函数调用函数W riteD a tO把结果输出到文件OU T.DAT中。提示:若中间变量为P R O t e m p,则可以直接使用结构赋值语句进行解题;产品名称比较请用函数stremp进行解题。例如:sell i =temp;注意:部分源程序存放在PORG LC中。请勿改动主函数ma in。,读数据函数R e a d D a tO和输出数据函数W riteD a tO的内容。【源程序】#inc lud e#inc

43、lud e#inc lud e#d efine MAX 1 0 0ty ped ef struc t c ha r d m 5 ;/*产品代码*/c ha r m e 1 1 ;/*产品名称*/int d j;/*单价*/int si;/*数量*/long je;/*金额*/P R O ;P R O sell MAX;v oid R ea d D a tO ;v oid W riteD a tO ;v oid S ortD a tO)v oid ma in()memset(sell,0,siz eof(sell);R ea d D a tO ;S ortD a tO ;W riteD a tO

44、 ;v oid R ea d D a tO泽天权威认证教材一三级C语言上机真题集F IL E *fp;c ha r str 8 0 ,c h l l ;int i ;fp=fopen(c:w ex a m 359 9 0 0 0 1 in.d a t,r);for(i=0 ;i 1 0 0 ;i+)fgets(str,8 0,fp);memc py(sell i.d m,str,4);memc py C sell i.me,str+4,1 0);memc py C c h,str+1 4,4);c h 4 =0 ;sell i.d j=a toi(c h);memc py C c h,str+

45、1 8,5);c h 5 =0 ;sell i.sl=a toi(c h);sell i.je=(long)sell i.d j*sell i.sl;)fc lose(fp);v oid W riteD a tOF IL E *fp;int i ;fp=fopen(Mc.w ex a m 359 9 0 0 0 1 out.d a tn,nw );ford =0 ;i 1 0 0 ;i+)fprintfC fp,%s%s%4 d%5d%1 0 1 d n,sell i.d m,sell i.mc,sell i.d j,sell i.si,sell i.je);)fc lose(fp);)【标准

46、答案】v oid S ortD a tO(int i,j;P R O t;for(i=0;i 9 9;i+)for(j=0;j sell j+l.je)t=sell j;sell j=sell j+1 ;sell j+l=t;泽天权威认证教材一三级C语言上机真题集第1 1套【试题要求】函数R ea d D a tO实现从文件I N.D A T中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数enc ry ptC ha rO,按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组x x所对应的位置上,最后调用函数W riteD a tO把结果xx输出到OU T.DAT中。替

47、代关系:f(p)=p*llmod 256,mod为取余运算,p是数组xx中某一个字符的ASCH值,f(p)是计算后的无符号整形值(注意:中间变量定义成整形变量),如果计算后f(p)的值小于等于3 2或大于1 30,则该字符不变,否则用f(p)替代所对应的字符。注意:部分源程序存放在P O R G 1.C中。原始数据文件存放的格式是:每行的宽度均小于8 0个字符,含标点符号和空格。并也按此替代关系进行处理。请勿改动主函数m ain。,读数据函数Re ad Dat O和输出数据函数Writ e Dat O的内容。【源程序】#inc lu d e#inc lu d e#inc lu d e u ns

48、igne d c har x x 5 0 8 0;int m ax line =0;/*文章的总行数*/int Re ad Dat(v oid);v oid Writ e Dat(v oid);v oid e nc ry pt CharOv oid m ainOif(Re ad Dat O)print f(数据文件I N.D A T不能打开!n007”);re t u rn;)e nc ry pt CharO ;Writ e Dat O ;)int Re ad Dat(v oid)(FILE*fp;int i =0;u nsigne d c har*p;if(fp=fope n(c:w e x

49、 am 35 9 9 0001 in.d at ,r)=NU LL)re t u rn 1 ;w hile(fge t s(x x i,8 0,fp)!=NU LL)p=st rc hr(x x i,n);if(p)*p=0;i+;泽天权威认证教材一三级C语言上机真题集)m ax line =i ;fc lose(fp);re t u rn 0;)v oid Writ e Dat(v oid)FILE*fp;int i ;fp=fope n(c:w e x am 35 9 9 0001 ou t.d at ,w );ford =0;i m ax line ;i+)print f(%sn,x x

50、 i);fprint f(fp,%sn,x x i);fc lose(fp);)【标准答案】v oid e nc ry pt CharOint i,j,st r;u nsigne d int v al;for(i=0;i m ax line;i+)(st r=st rle n(x x i);for(j=0;j st r;j+)v al=x x i j*ll%2 5 6;if(!(v al1 30)x x i j=v al;)第1 2套【试题要求】函数Re ad Dat()实现从文件I N.D A T中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数e nc ry pt Char(),

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

当前位置:首页 > 教育专区 > 教案示例

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

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