[计算机类试卷]国家三级(网络技术)机试模拟试卷42及答案与解析.doc

上传人:eastlab115 文档编号:495873 上传时间:2018-11-28 格式:DOC 页数:3 大小:27KB
下载 相关 举报
[计算机类试卷]国家三级(网络技术)机试模拟试卷42及答案与解析.doc_第1页
第1页 / 共3页
[计算机类试卷]国家三级(网络技术)机试模拟试卷42及答案与解析.doc_第2页
第2页 / 共3页
[计算机类试卷]国家三级(网络技术)机试模拟试卷42及答案与解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家三级(网络技术)机试模拟试卷 42及答案与解析 一、程序设计题 1 已知在文件 IN42.DAT中存有 N个实数 (N 200),函数 ReadDat()读取这 N个实数并存入数组 xx中。请编制程序 Ca1Value(),其功能要求: (1)求出这 N个实数的平均值 aver。 (2)分别求出这 N个实数的整数部分值之和 sumint及其小数部分之和 sumdec,最后调用函数 WriteDat()把所求的结果输出到文件 OUT42.DAT中。 注意:部分源程序已给出。 请勿改动主函数 main()、读 函数 ReadDat()和写函数 WriteDat()的内容。 试题程序: #inc

2、lude stdio.h #include conio.h #define MAXNUM 200 float xxMAXNUM; int N=0; double aver=0.0; double sumint=0.0; double sumdec=0.0; int ReadDat( ); void WriteDat( ); void CalValue( ) void main ( ) clrscr ( ); if (ReadDat ( ) ) printf (“数据文件 IN42.DAT不能打开 ! 007n“); return; CalValue ( ); printf (“文件 IN42.

3、DAT中共有实数 %d个 n“, N); printf (“平均值 =%.21fn“, aver); printf (“整数部分之和 =%.21fn“, sumint); printf (“小数部分之和 =%.21fn“, sumdec); WriteDat ( ); int ReadDat () FILE *fp; int j; if(fp=fopen(“in42.dat“,“r“)=NULL) return 1; while (! feof (fp) fscanf (fp, “%f“, if (xxN 0.001) N+; fclose (fp); return 0; void Write

4、Dat() FILE *fp; fp=fopen ( “OUT42.DAT“, “w“); fprintf (fp, “%dkn%.21fn%.21fn%.21fn“, N, aver, sumint, sumdec); fclose (fp); 国家三级(网络技术)机试模拟试卷 42答案与解析 一、程序设计题 1 【正确答案】 void CalValue() int i; double x, sum=0.0; for(i=0; i N; i+) sumint=sumint+(int)xxi; /*求整数部分之和 */ x=xxi-(int)xxi; /*求每个数的小数部分 */ sumdec=sumdec+x; /*求小数部分之和 */ sum=sum+xxi; /*求 N个数之和 */ aver=sum/N; /*求 N个数的平均数 */ 【试题解析】 本题考查的知识点如下; (1)循环结构的使用。 (2)强制类型转换。 将一个实数的整数部分和小数部分分开,这里使用的方法是强制类型转换法。强制类型转换是按照要求将表达式的值转换成指定的类型。将一个实数强制转换成整型数之后,其小数部分被去掉 (不是四舍五入,而是直接删除 )。对数组中的 200个实数求和及平均值,可以使用循环结构。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1