ImageVerifierCode 换一换
格式:DOCX , 页数:113 ,大小:66.08KB ,
资源ID:8523502      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8523502.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(三级网络技术上机部分天河教育版word版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

三级网络技术上机部分天河教育版word版.docx

1、三级网络技术上机部分天河教育版word版1 文件IN.DAT中存有200个销售记录,每个记录均由产品代码ID(字符型4位)、产品名称name(字符型10位)、单价price(整型)、数量amount(整型)、金额value(长整型)几部分组成。其中:金额=单价数量,函数ReadData()负责将IN.txt中的数据读到结构数组sell中。请编制函数sortData(),将各个记录按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,并将排列后的结果存放到sell中。函数WriteData()负责将sell中的数据输出到文件OUT.txt中。注意:部分源程序已给出。请勿改动主函数

2、main()、读函数ReadData()和写函数WriteData()的内容。试题程序:#include #include #include #include #define MAX 100typedef structchar ID5; /产品代码 char name11; /产品名称 int price; /单价 int amount; /数量 long value; /金额 PRODUCT;PRODUCT sell MAX;void readData();void writeData();void sortData() PRODUCT temp; int i,j; memset(&temp

3、, 0, sizeof(temp); for(i=0;iMAX-1;i+) /下面是按条件对数据进行排序的程序 for(j=i+1;jMAX;j+) if(strcmp(selli.ID,sellj.ID)0|(strcmp(selli.ID,sellj.ID)=0&selli.valuesellj.value) memcpy(&temp,&selli,sizeof(temp); /将以&selli为起始地址大小为sizeof(temp)的的内存中的内容复制到以&temp为起始地址的内存中 memcpy(&selli,&sellj,sizeof(temp); memcpy(&sellj,&te

4、mp,sizeof(temp); void readData() FILE *fp; char str80, ch11; int i; fp = fopen(IN.DAT, r); for (i = 0; i MAX; i+) fgets(str, 80, fp); memcpy(selli.ID, str, 4); memcpy(selli.name, str + 4, 10); memcpy(ch, str + 14, 4); ch4 = 0; selli.price = atoi(ch); memcpy(ch, str +18, 5); ch5 = 0; selli.amount = a

5、toi(ch); selli.value = (long)selli.price * selli.amount; fclose(fp);void writeData() FILE *fp; int i; fp = fopen(OUT.DAT, w); for(i = 0; i MAX; i+) fprintf(fp, %s %s %4d %5d %10ldn, selli.ID, selli.name, selli.price,selli.amount, selli.value); fclose(fp);void main() memset(sell, 0, sizeof(sell); rea

6、dData(); sortData(); writeData();2请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中偶数的个数even,奇数的平均值ave1,偶数的平均值ave2以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。计算方差的公式如下:totfc=1/NNi=1(xxi-ave2)2设N为偶数的个数,xxi为偶数,ave2为偶数的平均值。原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)注意:部分源程序已给出。请勿

7、改动主函数main()和输出数据函数writeDat()的内容。试题程序:#include #include #include #define MAX 1000int xxMAX,odd=0,even=0;double ave1=0.0,ave2=0.0,totfc=0.0;void WriteDat(void);int ReadDat(void)int i; FILE *fp; if(fp=fopen(IN.DAT,r)=NULL) return 1;/*编制函数ReadDat()的部分*/ for(i=0;iMAX;i+) fscanf(fp,%d,&xxi); /读取文件中的数据存入变量

8、xxi中 if(i+1)%10=0) /每行存10个数 fscanf(fp,n); /读取行后的换行符/*/ fclose(fp); return 0;void Compute(void) int i,yyMAX; for(i=0;iMAX;i+) yyi=0; for(i=0;iMAX;i+) if(xxi%2=0) /测试结点i是否是偶数 yyeven+=xxi; /将结点i存入数组yy中ave2+=xxi; /将结点i累加存入ave2中 else /如果结点i不是偶数 odd+; /累加变量odd记录奇数数的个数ave1+=xxi; /将xxi累加存入ave1中 if(odd=0) av

9、e1=0; else ave1/=odd; /计算奇数数的平均数 if(even=0) ave2=0; else ave2/=even; /计算偶数数的平均数 for(i=0;ieven;i+) totfc+=(yyi-ave2)*(yyi-ave2)/even; void main() int i; for(i=0;iMAX;i+)xxi=0; if(ReadDat() printf(数据文件IN.DAT不能打开!007n); return; Compute(); printf(EVEN=%dnAVE1=%fnAVER2=%fnTOTFC=%fn,even,ave1,ave2,totfc);

10、 WriteDat();void WriteDat(void) FILE *fp; int i; fp=fopen(OUT.DAT,w); fprintf(fp,%dn%fn%fn%fn,even,ave1,ave2,totfc); fclose(fp);3文件IN.DAT中存有一篇英文文章, 函数ReadData()负责将IN.DAT中的数据读到数组inBuf中。请编制函数replaceChar(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。把已处理的字符串仍按行

11、重新存入字符串数组inBuf中,函数WriteData()负责将inBuf中的数据输出到文件OUT.DAT中并且在屏幕上打出。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。试题程序:#include #include #include #include #define LINE 50#define COL 80char inBufLINECOL;int totleLine = 0; /文章的总行数 int readData(void);void writ

12、eData(void);void replaceChar() int i,j,y; for(i=0;itotleLine;i+) for(j=0;jCOL;j+) y=(int)inBufij/16+(int)inBufij; /将ASCII码右移4位,再加上自身的值 inBufij=(char)y; /将整型转换成字符型存入inBuf 中 void main() system(CLS); if(readData() printf(IN.DAT cant be open!n007); return; replaceChar(); writeData();int readData(void) F

13、ILE *fp; int i = 0; char *p; if(fp = fopen(IN.DAT, r) =NULL) return 1; while(fgets(inBufi, COL+1, fp) !=NULL) p = strchr(inBufi, n); if(p) *p = 0; i+; totleLine = i; fclose(fp); return 0;void writeData(void) FILE *fp; int i; fp = fopen(OUT.DAT, w); for(i = 0; i totleLine; i+) printf(%sn, inBufi); fp

14、rintf(fp, %sn, inBufi); fclose(fp);4 补充函数,要求实现如下功能:寻找并输出 11999之间的数m,它满足m,m2 ,m3 均为回文数(回文数是指各位数字左右对称的整数),例如:12321,505,1458541等。满足上述条件的数如m=11时,m2=121,m3=1331都是回文数。请编写jsValue(long m)实现此功能。如果是回文数,则函数返回1,不是则返回0。最后,把结果输出到文件OUT.DAT中。注意:部分源程序已经给出。请勿改动主函数Main()中的内容。试题程序:#include #include #include #include #d

15、efine MAX 100typedef struct char dm5; /*产品代码*/ char mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)sellj.je) /如果产品i的金额大于产品j的金额 xy=selli;selli=sell

16、j;sellj=xy; /产品i和产品j交换void main() memset(sell,0,sizeof(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); mem

17、cpy(ch,str+18,5);ch5=0; selli.sl=atoi(ch); selli.je=(long)selli.dj*selli.sl; fclose(fp);void WriteDat() FILE *fp; int i; fp=fopen(OUT7.DAT,w); for(i=0;i100;i+) printf(%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je); fprintf(fp,%s %s %4d %5d %5dn, selli.dm,selli.mc,selli.dj,selli.sl

18、,selli.je); fclose(fp);5请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。计算方差的公式如下: N 2totfc=1/N (xxi-ave1) i=1设N为奇数的个数,xxi为奇数,ave1为奇数的平均值。原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)注意:部分源程序已给出如下:请勿

19、改动主函数main()和输出数据函数writeDat()的内容。试题程序for(i=0;iMAX;i+) fscanf(fp,%d,&xxi); /读取文件中的数据存入变量xxi中 if(i+1)%10=0) /每行存10个数 fscanf(fp,n); void Compute(void) int i,yyMAX; for(i=0;iMAX;i+) yyi=0; for(i=0;iMAX;i+) if(xxi%2) /测试结点i是否是奇数 yyodd+=xxi; /将结点i存入数组yy中ave1+=xxi; /将结点i累加存入ave1中 else /如果结点i不是奇数 even+; /累加变

20、量even记录偶数数的个数ave2+=xxi; /将xxi累加存入ave2中 if(odd=0) ave1=0; else ave1/=odd; /计算奇数数的平均数 if(even=0) ave2=0; else ave2/=even; /计算偶数数的平均数 for(i=0;iodd;i+) totfc+=(yyi-ave1)*(yyi-ave1)/odd;6已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数Read

21、Dat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。注意:部分源程序已给出如下:请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。试题程序void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)

22、0 /如果产品i的产品名称大于产品j的产品名称|strcmp(selli.mc,sellj.mc)=0 /如果产品i的产品名称等于产品j的产品名称&selli.jesellj.je) /如果产品i的金额小于产品j的金额 xy=selli;selli=sellj;sellj=xy; /产品i和产品j交换7请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute(),分别计算出xx中奇数的个数odd,偶数的个数even,平均值aver以及方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。计算方差的公式如下

23、: N 2totfc=1/N (xxi-aver) i=1原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)注意:部分源程序已给出如下:请勿改动主函数main()和输出数据函数writeDat()的内容。试题程序for(i=0;iMAX;i+) fscanf(fp,%d,&xxi); /读取文件中的数据存入变量xxi中 if(i+1)%10=0) /每行读取10个数 fscanf(fp,n); void Compute(void) int i; for(i=0;iMAX;i+) if(xxi%2) /测试结点i是否是奇数odd+; /累加变量odd记

24、录奇数数的个数 else /如果结点i不是奇数even+; /累加变量even记录偶数数的个数 aver+=xxi; /将xxi累加存入aver中 aver/=MAX; /计算平均数 for(i=0;iMAX;i+) totfc+=(xxi-aver)*(xxi-aver); totfc/=MAX;8文件IN.DAT中存放有100条对10个候选人进行选举的记录,每条记录的长度均为10位,第一位表示第一个人选中的情况,第二位表示第二个人的选中情况,依次类推。每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,全选或全部选(空选票)均为无效选票。函数readData()负责将IN.DA

25、T中的内容读入到数组inBuf中。请编制函数calculate()来统计每个人的选票数并把得票数依次存入outBuf0outBuf9中,最后调用函数WriteData()把结构outBuf输入到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读函数readData()和写函数Writedata的内容。试题程序:int i,j,k,sum,use_i;int usefulLINE=-1;k=0;for(i=0;iLINE;i+)sum=0;/将总和清零for(j=0;j0&sumCOL)/如果该选票全选或不选,则视为无效选票usefulk=i;/将有效的选票的标号放到数

26、组useful中k+;/将有效选票的计数器加1use_i=k;/记录有效选票的个数for(j=0;jCOL;j+)for(k=0;kuse_i;k+) outBufj+=(inBufusefulkj-0);/9已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。注意:部分源程序已给出如下:请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。试题程序void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.dm,sellj.dm)0 /如果产品i的产品代码小于产

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1