首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件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
82
问题
已知在文件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、 AWindowsServer2003备份程序支持正常备份、副本备份、增量备份、差异备份和每日备份5种类型的备份方法。使用正常备份或增量备份方法,对已备份文件在备份后将清除存档属性,
A、 B、 C、 D、 C默认情况下WindowsServer2003系统没有安装IIS组件。若要架构Web站点,需要在控制面板的[添加/删除程序]对话框中选择[添加/删除Windows组件]选项,接着双
A、 B、 C、 D、 ACiscoAironet1100系列接入点是一款无线局域网收发器,主要用于独立无线网络的中心点或无线网络和有线网络之间的连接点。它使用CiscoIOS操作系统,兼容IEEE8
A、 B、 C、 D、 C在交换设备之间实现Trunk功能,必须遵守相同的VLAN协议。目前,常用的VLAN协议有ISL(Cisco公司内部交换链路协议)、IEEE802.10(原为FDDI的安全标准协议)
A、 B、 C、 D、 BRPR环限制数据帧只在源结点与目的结点之间的光纤段上传输,当信源结点成功地发送一个数据帧之后,该数据帧直接由目的结点从环中收回。对于传统的FDDI环网,当信源结点向目的结点成
A、 B、 C、 D、 B宽带城域网的网络平台的层次结构可分为核心交换层、边缘汇聚层、用户接入层。其中,核心交换层主要承担高速数据交换的功能;边缘汇聚层用于路由与流量的汇聚;而用户接入层主要承担用户接入与本地
A、 B、 C、 D、 A城域网(MAN)的覆盖范围一般在一个城市或地区的内部,距离通常在几十公里之内,其设计目标是满足覆盖范围内大量企业、机关、公司的多个局域网互联的请求,以实现大量用户之间的数据、语音、图
设置Catalyst6500交换机的3/1至3/24端口为全双工通信方式,正确的配置语句是______。
下面哪种攻击不属于协议欺骗攻击?——
随机试题
铜合金分为黄铜、青铜和紫铜。()
收益期限是估价对象自现在到未来可以获得收益的时间。()
2012年6月,银监会发布的《商业银行资本管理办法(试行)》再次对交易账户进行定义,下列不属于交易账户中的金融工具和商品头寸需满足的条件的是()。
微型计算机中的内存储器,通常采用()。
腮腺床
若α1,α2,α3是三维线性无关的列向量,A是三阶方阵,且Aα1=α1+α2,Aα2=α2+α3,Aα3=α3+α1,则|A|=_______.
Interlocutor:Goodafternoon.MynameisLiLin,andthisismycolleagueHeFei.Heisjustgoingtobelisteningtous.CouldI
Whenitcomestotheslowingeconomy,EllenSperoisn’tbitinghernailsjustyet.Butthe47-year-oldmanicuristisn’tcutting,
Anewstudyusesadvancedbrain-scanningtechnologytocastlightontoatopicthatpsycholo-【M1
A、$250.B、$550.C、$750.D、$1100.D
最新回复
(
0
)