首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序Ca1Value(),其功能要求: (1)求出这N个实数的平均值aver。 (2)分别求出这N个实数的整数部分值之和sumi
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序Ca1Value(),其功能要求: (1)求出这N个实数的平均值aver。 (2)分别求出这N个实数的整数部分值之和sumi
admin
2009-02-24
103
问题
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序Ca1Value(),其功能要求:
(1)求出这N个实数的平均值aver。
(2)分别求出这N个实数的整数部分值之和sumint及其小数部分之和sumdec,最后调用函数WriteDat()把所求的结果输出到文件OUT42.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<conio.h>
#define MAXNUM 200
float xx[MAXNUM];
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不能打开! \007\n");
return;
}
CalValue ( );
printf ("文件IN42.DAT中共有实数%d个\n", N);
printf ("平均值=%.21f\n", aver);
printf ("整数部分之和=%.21f\n", sumint);
printf ("小数部分之和=%.21f\n", sumdec);
WriteDat ( );
}
int ReadDat ()
{
FILE *fp;
int j;
if((fp=fopen("in42.dat","r"))==NULL)
return 1;
while (! feof (fp))
{
fscanf (fp, "%f", &xx [N]);
if (xx[N] >0.001) N++;
}
fclose (fp);
return 0;
}
void WriteDat()
{
FILE *fp;
fp=fopen ( "OUT42.DAT", "w");
fprintf (fp, "%dkn%.21f\n%.21f\n%.21f\n", N, aver, sumint, sumdec);
fclose (fp);
}
选项
答案
void CalValue() { int i; double x,sum=0.0; for(i=0;i<N;i++) { sumint=sumint+(int)xx[i]; /*求整数部分之和*/ x=xx[i]-(int)xx[i]; /*求每个数的小数部分*/ sumdec=sumdec+x; /*求小数部分之和*/ sum=sum+xx[i]; /*求N个数之和*/ } aver=sum/N; /*求N个数的平均数*/ }
解析
本题考查的知识点如下;
(1)循环结构的使用。
(2)强制类型转换。
将一个实数的整数部分和小数部分分开,这里使用的方法是强制类型转换法。强制类型转换是按照要求将表达式的值转换成指定的类型。将一个实数强制转换成整型数之后,其小数部分被去掉(不是四舍五入,而是直接删除)。对数组中的200个实数求和及平均值,可以使用循环结构。
转载请注明原文地址:https://kaotiyun.com/show/URYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下列有关数据库模式的叙述不正确的是
在计算机的应用领域中,CAI表示
设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用二路归并排序法进行排序,下面哪一个序列是第二趟归并后的结果?()A)G,Q,M,Z,A,N,B,P,H,X,
若关系模式R中只包含两个属性,则
下列的叙述中错误的是
文件的逻辑块号到物理块号的变换是由下列哪一项决定的?
在使用基于优先数的不可抢占式进程调度算法的系统中,不会引起进程切换的事件恳()。
A、 B、 C、 D、 C最坏适应算法是根据申请,在空闲区表中选择能满足申请要求的最大的空闲区。该算法的出发点是:在大空间区中装入信息后,分割剩下的空闲区相对也大,还能用于装入新的信息。该算法的优点是可以避免
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是____________。
Elgamal公钥体制在原理上基于下面哪个数学基础________。
随机试题
女,15岁,间断发热1个月,伴心悸、关节痛、多汗。查:T37.6℃,咽部充血,扁桃体I度肿大;心率110次/分,心尖部2级收缩期吹风样杂音,胸部及两上臂内侧散在淡红色环状红斑;双膝关节、右肩关节压痛,但无红肿及功能障碍。心电图示窦性心动过速,X线示心脏扩
机构取得《等级证书》后,可向社会提供试验检测服务。()
[2014年,第42题]电解NaCl溶液时,阴极上放电的离子是()。
如果投资者购买债券并持有到期,衡量其收益状况的指标是( )。
供应链管理主要涉及的领域有()。
设A是4×5矩阵,且A的行向量组线性无关,则下列说法错误的是()
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好“tCourse”、“tGrade”、“tStudent”三个关联表对象和一个空表“tSinfo”,试按以下要求完成设计:创建一个查询,计算每名学生所选课程的学分总和,并依次显示“
为方便用户的输入操作,可在屏幕上显示提示信息。在设计查询条件时可以将提示信息写在特定的符号之中,该符号是()。
Turninyourcollectionofindustry-suppliedfreebiesandGoodmanwillsendbackafewreplacementpensbearingtheNoFreeLunc
1990年以来,美国联邦贸易委员会(FTC)已经将97家涉嫌虚假减肥广告的公司送上了法庭。(accuseof)
最新回复
(
0
)