首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序CalValue(),其功能要求: (1)求出这N个实数的平均值aver。 (2)分别求出这N个实数的整数部分值之和sumi
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序CalValue(),其功能要求: (1)求出这N个实数的平均值aver。 (2)分别求出这N个实数的整数部分值之和sumi
admin
2009-02-15
40
问题
已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序CalValue(),其功能要求:
(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,"%d\n%.21f\n%.21f\n%.21f\n",N,aver,sumint,sumdec);
fclose(fp);
}
选项
答案
void CalValue( ) { int i; double x,sum=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/rufZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
A、 B、 C、 D、 B当一个运行OSPF协议的路由器刚开始工作时,只能通过问候分组得知它有哪些相邻的路由器在工作,以及将数据发往相邻路由器所需的“费用”。如果所有的路由器都把自己的本地链路状态信息
A、 B、 C、 D、 CIPv6地址中双冒号“::”之间被压缩0的位数(N)问题的一种解决方法是:先数一下IPv6地址中位段的个数X,用8减去这个数X,再将结果乘以16,即N=(8-X)×16。例如
A、 B、 C、 D、 D规划内部网络地址系统的基本原则如下。①简捷:内部网络地址规划一定要简洁,文档记录清晰,使使用者很容易理解;②便于系统的扩展与管理:网络地址规划一定要考虑具有良好的可扩展性,管理方便;
A、 B、 C、 D、 B宽带城域网的网络平台的层次结构可分为核心交换层、边缘汇聚层、用户接入层。其中,核心交换层主要承担高速数据交换的功能;边缘汇聚层用于路由与流量的汇聚;而用户接入层主要承担用户接入与本地
A、 B、 C、 D、 A是否需要分成3层组建的经验数据是:结点数为250~500个,一般需要按3层结构来设计;结点数为100~500个,可以不设计接入层网络,结点可直接通过汇聚层的路由器或交换机接入;结点数
A、 B、 C、 D、 Atelnet是远程登录服务,可以通过该将用户计算机与远程主机连接起来,在远程主机上运行程序,将相应的屏幕下传送到本地机器,并将本地的输入送给远程主机,可以用于Internet信息服务
静态路由是指由网络管理员(1)配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是(2)的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享
某企业网使用622Mbps的POS技术与Internet相连,如图5-4所示。POS接口的帧格式使用SDH,采用CRC-32校验方式,并要求在R3上封禁所有目的端口号为4444的TCP数据包进入企业网。请阅读以下R3关于POS接口和访问控制列表的
以下几项中,______属于对于交换机端口配置的基本配置任务的描述。①配置交换机的端口描述信息②配置交换机端口的通信方式③配置交换机端口的传输速率④配置交换机端口的传输速率⑤设置交换机端口的关闭与开启
随机试题
下列选项中,属于独活寄生汤功用的有()(2011年第156题)
下列哪种细胞为非自律细胞【】
"脾气散精,上归于肺"说明了"见肝之病,知肝传脾,当先实脾"说明了
任职人员的品德素质不包括()。
人类社会进入工业时期,工业化对城市化的促进作用表现在两个方面,其中“农村的推力”含义主要是()。
关于癔症,以下说法正确的是()。
程序法是为促进实体法内容的实现对诉讼程序或其他程序加以规定的法律。下列属于程序法的是()
Therehasrecentlybeenadiscussioninthenewspaperontheissueofchoiceofwork.Writeanessaytothenewspaperto1.
已知一个盘组有3个盘片,共有4个数据记录面,每面的内磁道直径为10cm,外磁道直径为30cm,最大位密度为250位/毫米,道密度为8道/毫米,每磁道分成16个扇区,每个扇区存储512B,磁盘转速为7200转/分。则该磁盘非格式化容量为(15),格式化容量为
中国位于亚洲东部、太平洋的西岸,总面积约960万平方公里,是世界第三大国家。中国南北相距约5500公里,东西相距约5200公里,在地图上的形状像一只雄鸡(rooster)。中国地势(terrain)西高东低,地形多种多样,包括山地、高原(plateau)、
最新回复
(
0
)