2022年全国计算机等级考试三级网络技术南开上机题 2.pdf
《2022年全国计算机等级考试三级网络技术南开上机题 2.pdf》由会员分享,可在线阅读,更多相关《2022年全国计算机等级考试三级网络技术南开上机题 2.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题目 71(字符串左右排序题)函数 ReadDat()实现从文件 in.dat中读取 20行数据存放到字符串数组xx 中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数WriteDat()把结果 xx 输出到文件 out.dat中。条件:从字符串中间一分为二,左边部分按字符的ASCII 值降序排序,右边部分按字符的 ASCII 值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。例如:位置0 1 2 3 4 5 6 7 8源字符串a b c
2、 d h g f e 1 2 3 4 9 8 7 6 5则处理后字符串 d c b a e f g h 4 3 2 1 9 5 6 7 8部分源程序存在文件prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数WriteDat()的内容。#include#include#include char xx2080;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+)i
3、f(xxijxxik)ch=xxij;xxij=xxik;xxik=ch;if(strl%2)half+;for(j=half;jstrl-1;j+)for(k=j+1;kxxik)ch=xxij;xxij=xxik;xxik=ch;void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 16 页 -readDat();jsSort();writeDat();readDat()FILE*in;int i=0;char*p;in=fopen(in.dat,r);while(i20&fgets(xxi,80,in)!=NULL)p=strchr(xxi,n);if(p)
4、*p=0;i+;fclose(in);writeDat()FILE*out;int i;clrscr();out=fopen(out.dat,w);for(i=0;i20;i+)printf(%sn,xxi);fprintf(out,%sn,xxi);fclose(out);*题目 72(整数各位打散组合运算题)已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数readDat()把这些数存入数组 a 中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把
5、百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 16 页 -的个位数字是原四位数的十位数字),如果新组成的 两个十位数均是偶数并且两个十位数中至少有一个数能被9 整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序 存入数组 b 中,并要计算满足上述条件的四位数的个数cnt。最后 main()函数调用写函数 writeDat()把结果 cnt以及数组 b 中符合条件的四位数输出到OUT.DAT 文件中。注意:部分源程序存在文件prog1.c 中。程序中已定义数组:a20
6、0,b200,已定义变量:cnt 请勿改动数据文件IN.DAT 中的任何数据、主函数main()、读函数readDat()和写函数 writeDat()的内容。#include#define MAX 200 int aMAX,bMAX,cnt=0;void jsVal()int i,j,thou,hun,ten,data,ab,cd;for(i=0;i200;i+)thou=ai/1000;hun=ai/100%10;ten=ai%100/10;data=ai%10;ab=10*data+thou;cd=10*hun+ten;if(ab%9=0|cd%9=0)&ab%2=0&cd%2=0&hu
7、n!=0&data!=0)bcnt=ai;cnt+;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)data=bi;bi=bj;bj=data;void readDat()int i;FILE*fp;fp=fopen(in.dat,r);for(i=0;i MAX;i+)fscanf(fp,%d,&ai);fclose(fp);void main()int i;readDat();jsVal();名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 16 页 -printf(满足条件的数=%dn,cnt);for(i=0;i cnt;i+)pri
8、ntf(%d,bi);printf(n);writeDat();writeDat()FILE*fp;int i;fp=fopen(out.dat,w);fprintf(fp,%dn,cnt);for(i=0;i cnt;i+)fprintf(fp,%dn,bi);fclose(fp);*题目 73(字符替换题)函数 ReadDat()实现从文件 IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数 ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母 z。大写字母仍为大写字母,小写字母仍为小写字母,其它字
9、符不变。最后把已处理的字符串仍按行重新存入字符串数组xx 中,最后调用函数writeDat()把结果xx 输出到文件 OUT4.DAT 中。例:原文:Adb.Bcdza abck.LLhj结果:Aca.Bbcyz zabj.LLgi原始数据文件存放的格式是:每行的宽度均小于80 个字符,含标点符号和空格。部分源程序存在文件prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数writeDat()的内容。#include#include#include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void
10、);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 16 页 -void WriteDat(void);void ConvertCharD(void)int i,j;for(i=0;imaxline;i+)for(j=0;j=b&xxij=z)xxij-=1;void main()clrscr();if(ReadDat()printf(数据文件 IN.DAT 不能打开!n007);return;ConvertCharD();WriteDat();int ReadDat(void)FILE*fp;int i=0;char*p;if(fp=fopen(IN.DAT,r)=NULL)r
11、eturn 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;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 16 页 -clrscr();fp=fopen(OUT4.DAT,w);for(i=0;imaxline;i+)printf(%sn,xxi);fprintf(fp,%sn,xxi);fclose(fp);*题目 74(字符 ASCII 值移位 替换题)函数 ReadDat()实
12、现从文件 IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数 StrCharJL(),其函数的功能是:以行为单位把字符串中的所有字符的 ASCII 值左移 4 位,低位补 0,如果左移后,其字符的ASCII 值小于等于 32 或大于 100,则原字符保持不变,否则就把左移后的字符ASCII 值再加上原字符 ASCII 值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx 中,最后调用函数 writeDat()把结果xx 输出到文件 OUT7.DAT 中。原始数据文件存放的格式是:每行的宽度均小于80 个字符,含标点符号和空格。部分源程序存在
13、文件prog1.c 中。请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数writeDat()的内容。#include#include#include char xx5080;int maxline=0;/*文章的总行数*/int ReadDat(void);void WriteDat(void);void StrCharJL(void)int i,j;char c;for(i=0;imaxline;i+)for(j=0;jstrlen(xxi);j+)c=xxij4;if(!(c100)xxij+=c;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 16
14、 页 -void main()clrscr();if(ReadDat()printf(数据文件 IN.DAT 不能打开!n007);return;StrCharJL();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*fp;int i;clrscr(
15、);fp=fopen(OUT7.DAT,w);for(i=0;imaxline;i+)printf(%sn,xxi);fprintf(fp,%sn,xxi);fclose(fp);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 16 页 -*题目 75(整数各位数运算及排序题)在文件 in.dat中有 200 组数据,每组有 3 个数,每个数均是三位数。函数ReadDat()读取这 200 组数据存放到结构数组aa 中,请编制函数 jsSort(),其函数的功能是:要求在 200 组数据中找出条件为每组中的第一个数大于第二个数加第三个数的和,其中满足条件的组数作为函数jsSort
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年全国计算机等级考试三级网络技术南开上机题 2022 全国 计算机等级考试 三级 网络技术 南开 上机
限制150内