首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在文件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-19
55
问题
已知在文件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/FESZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在Bootloader的stagel中,以下各步骤的顺序应为()。a.跳转到stage2的C程序入口点b.为加载stage2准备RAM空间c.拷贝stage2的执行代码到RAM空间中d.基本硬件初始化
RTLinux基本的设计理念就是“架空”Linux内核,以便让其他实时进程能尽快地被执行。RTLinux开发者并没有针对实时操作系统的特性而重写Linux的内核,而是将Linux的内核代码做一些修改,将Linux的任务以及Linux内核本身作为一个【75】
在Internet中负责选择合适的路由,使发送的数据分组(packet)能够正确无误地按照地址找到目的计算机所使用的【45】协议簇中的【46】协议。
一般而言,移植VxWorks操作系统有4种操作类型,下面不属于这4种类型的是()。
与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是()。
S3C2410与一位数码管的连接如下图所示,假设8段数码管为共阳接法。U1作为锁存器(同相),并用于驱动。为使下图中的数码管显示字符“0”的汇编语言程序片段如下,填空使程序语句完整(假设端口已经初始化为输出)。
数据库管理系统、图形用户界面、互联网浏览器、媒体播放器等软件,如果运行在嵌入式系统上,往往具有内部结构精简,【69】轻量化,占用存储资源【70】的特点。
下列关于μC/OS–II操作系统任务调度的陈述中,不正确的是()。
设只包含根结点的二叉树的高度为0,高度为k的二叉树的最小结点数为【】。
随机试题
A、枕骨B、颊骨C、骶骨D、肩岬骨E、臀部ISA的先露部指示点为()
我国《民事诉讼法》有很多关于审限的规定,以下错误的是:
甲、乙共谋行抢。甲在偏僻巷道的出口望风,乙将路人丙的书包(内有现金一万元)一把夺下转身奔逃,丙随后追赶,欲夺回书包。甲在丙跑过巷道口时突然伸腿将丙绊倒,丙倒地后摔成轻伤,甲、乙乘机逃脱。甲、乙的行为构成何罪?()(2009年卷二第7题)
根据建设工程勘察合同文本,下列解释合同文件的优先顺序正确的是()。
钢筋工程机械连接接头试验时发现有1个试件的抗拉强度不符合要求,这时应再取()个试件进行复检。
零担货物是指按一份运单托运的一批货物,其质量不超过______t,按其体积、形状或性质不需要单独车辆运送的货物。
以下属于迁移现象的有()。
某公司年会设有6个红包,分别装有100、200、300、400、500、600元现金,若从中任意抽取3个红包且红包内总金额能被三等分,则三个红包归抽中的人所有。那么中奖概率为多少?
目前我国的执法主体主要有()
Theworld’srainforestscoverlessthantenpercentoftheearth’ssurface,butcontainoverfortypercentofallplantandanim
最新回复
(
0
)