收藏 分销(赏)

2003年4月全国计算机等级考试三级网络技术上机考试题.doc

上传人:二*** 文档编号:4522619 上传时间:2024-09-26 格式:DOC 页数:19 大小:30KB
下载 相关 举报
2003年4月全国计算机等级考试三级网络技术上机考试题.doc_第1页
第1页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2003年4月三级网络技术上机考试题1.在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四局部组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,假设产品代码相同,那么按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT10.DAT中。, 局部源程序已给出。,请勿改动主函数mai

2、n()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。,#include,#include,#include,#include,#include,#define MAX 100,typedef struct,char dm5; /*产品代码*/,char mc11; /*产品名称*/ ,int dj; /*单价*/,int sl; /*数量*/ ,long je; /*金额*/,PRO;,PRO sellMAX;,void ReadDat();,void WriteDat();,void SortDat(),void main(),memset(sell,0,sizeo

3、f(sell);,ReadDat();,SortDat();,WriteDat();,void ReadDat(),FILE *fp;,char str80,ch11;,int i;,fp=fopen(IN.DAT,r);,for(i=0;i100;i+),fgets(str,80,fp);,memcpy(selli.dm,str,4);,memcpy(selli.mc,str+4,10);,memcpy(ch,str+14,4);ch4=0;,selli.dj=atoi(ch);,memcpy(ch,str+18,5);ch5=0;,selli.sl=atoi(ch);,selli.je=(

4、long)selli.dj*selli.sl;,fclose(fp);,void WriteDat(void),FILE *fp;,int i;,fp=fopen(OUT10.DAT,w);,for(i=0;i100;i+),fprintf(fp,%s %s %4d %5d %10Ldn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je);,fclose(fp);,-,注:这时也是采用冒泡法进行排序。与前面的冒泡法在写法上有所不同请注意区分。,void SortDat(),int i,j;,PRO swap;,for(i=0;i for(j=0;j i

5、f(strcmp(sellj.dm,sellj+1.dm)0) /*用函数strcmp判断两个字符串的大小*/, swap=sellj; sellj=sellj+1; sellj+1=swap; ,if(strcmp(sellj.dm,sellj+1.dm)=0&sellj.je ,swap=sellj;,sellj=sellj+1;,sellj+1=swap;, ,假设产品代码相同,那么按金额从大到小进行排列没有表达!,2.six+six+six=nine+nine的个数cnt及它们的和sum,s,i,n,e是09自然数,但s,n不能为0.,如 984+984+984=1476+1476,,

6、我临时编的可能算法不太好,main(),int i,j,cnt=0;,float sum=0;,for(i=100;i1000;i+),for(j=1000;j10000;j+),if(i+i+i=j+j),cnt+;,sum=sum+i+j;,printf(%d+%d+%d=%d+%dn,i,i,i,j,j);,printf(%d,%f,cnt,sum);,参考这个:for(i=666;i=A&*pf*11%256=Z|*pf*11%25632) ,pf+;continue; ,*pf=*pf*11%256; ,pf+; , , , ,void encryptChar() , ,int i,

7、j,t; ,for(i=0;i ,for(j=0;j ,t=xxij*11%256; ,if(t=A & t=Z) continue; ,xxij=t; , , ,4.南开第一题,函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。,替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASC

8、II值是偶数或计算后f(p)值小于等于32,那么该字符不变,否那么将f(p)所对应的字符进行替代。,局部源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。,请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 ,#include,#include,#include,#include,unsigned char xx5080;,int maxline=0;/*文章的总行数*/,int ReadDat(void),void WriteDat(void),void encryptChar(),void main(),clrscr();,

9、if(ReadDat(),printf(数据文件ENG.IN不能翻开!n007);,return;,encryptChar();,WriteDat();,int ReadDat(void),FILE *fp;,int i=0;,unsigned char *p;,if(fp=fopen(eng.in,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

10、;,fp=fopen(ps10.dat,w);,for(i=0;i printf(%sn,xxi);,fprintf(fp,%sn,xxi);,fclose(fp);,-,注:在ReadDat()函数中由于fgets()函数读入数据时没有读入字符串结束符0,因,而用while()循环在xx数组每一行未尾将换行符n替换成结束符0。,编写的函数如下:该函数的根本算法是让字符指针pf指向每一行的开头然后逐一往,后移动,在移动过程中按要求进行转换。*pf%2=0用于判断是否为偶数。if()条件语,句用于控制不替代字符。,的,解法1:,void encryptChar(),int i;,char *pf;,for(i=0;i pf=xxi; /*每行字符个数*/ ,while(*pf!=0),if(*pf%2=0|*pf*11%25632),pf+;continue; ,*pf=*pf*11%256;,pf+;,仅供参考

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服