首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数 Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数 WriteDat()把结果输
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数 Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数 WriteDat()把结果输
admin
2010-01-09
32
问题
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数 Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数 WriteDat()把结果输出到OUT93.DAT文件中。
计算方差的公式如下:
原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2000)。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 1000
int xx[MAX],odd=0,even=0;
double aver=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{
FILE *fp;
if((fp=fopen("IN93.DAT","r"))= =NULL)
return 1;
fclose (fp);
return 0;
}
void Compute (void)
{
}
void main( )
{
int i;
for (i=0; i<MAX;i++)
xx
=0;
if (ReadDat ())
{
printf ("数据文件IN93.DAT 不能打开! \007\n");
return;
}
Compute ();
printf ("ODD=%d\nEVEN=%d\nAVER=%lf\nTOTFC=%lf\n",
odd, even, aver, totfc);
WriteDat ();
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen ("OUT93.DAT", "w");
fprintf (fp, "%d\n%d\n%lf\n%lf\n", odd, even, aver, totfc);
fclose (fp);
}
选项
答案
int ReadDat(void) { FILE *fp; int i,j; if((fp=fopen("IN93.DAT","r"))= =NULL) return 1; for(i=0;i<100;i++) { for(j=0;j<10;j++) fscanf(fp,"%d,",&xx[i*10+j]); fscanf(fp,"\n"); if(feof(fp))break; } fclose(fp); return 0; } void Compute(void) { int i,yy[MAX]; for(i=0;i<1000;i++) { if(xx[i]%2!=0) odd++; /*求出xx中奇数的个数odd*/ else even++; /*求出xx中偶数的个数even*/ aver+=xx[i]; /*求出xx中元素的总和*/ } aver/=MAX; /*求出xx中元素的平均值*/ for(i=0;i<1000;i++) totfc+=(xx[i]-aver)*(xx[i]-aver)/MAX; } [解析] 本题考查的知识点如下: (1)从文件中读取数据。 (2)奇偶数的判断和方差的求法。 在C语言中,有一结构体类型FILE,其中包含文件的一些属性信息。可定义指针指向该结构体,这个指针称为文件指针。要从文件中读取数据,首先要判断该文件是否能以“读”的方式打开。若能打开,使用函数int fscanf(FILE *fp,char *format,args)从fp所指向的文件中依次读取数据。在本题中,数据的存放很有规律,将数据读出存入数组xx时,只要控制数组下标就可以了。若文件结束,则退出读取循环。最后要关闭文件。若一个数除以2取余得0,则该数是偶数,否则为奇数。由方差公式可知,这是求一些连续的数的表达式的值,所以可以使用循环求得方差。
解析
转载请注明原文地址:https://kaotiyun.com/show/7OYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设SQLServer2008中有students数据库,需要对其进行事务日志备份,直接备份到D:\LogData目录下(此目录已存在)的Students_log.bak文件上,请补全下列语句:BACKUP【12】studentsTODISK=’D
在SQLServer2008中,在T表的c1列上定义唯一非聚集索引(索引名为idx1)的SQL语句是CREATE【8】INDEXidx1ONT(c1)
假定我们要为某社交平台建立一个数据库,存储如下信息:每个用户有用户编号、姓名、手机号;每个群有群编号,群名称;每个帖子有帖子编号、发帖时间、正文;每个群有唯一的用户作为群主,一个用户可以担任多个群的群主;每个群拥有多个用户,每个用户可以加入多个群
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:画出ER图。
下列不属于信息系统需求分析的常用建模方法是()。
从安全性角度考虑,防火墙技术是用来保证数据库应用系统的【2】环境安全的。
ETL工具是指从OLTP系统或其他数据环境中抽取数据的工具。在实践中,人们采用ETL工具从OLTP系统抽取出数据再进行分析利用,而不是在OLTP系统中直接进行数据分析利用的最主要原因是()。
设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[vi1,…,vin],用于表示用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。若有算法A,能根据用户间的相
设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[vi1,…,vin],用于表示用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。若有算法A,能根据用户间的相似
随机试题
对某慢性胃炎病人进行护理评估,在收集到的下列资料中,与发病密切有关的因素是()。
预应力混凝土梁钢筋张拉时,其钢筋的实测伸长值与相应的理论计算差值应控制在()以内。
建筑外墙装饰是考虑城市、小区整体规划的效果或商业经营宣传的需要,在建筑外墙增加附属的东西使其更加美观、宣传更加直观。广告牌的设置位置不符合现行国家工程建设消防技术标准的要求的是()。
甲公司是一家关注于高科技移动领域的互:联网公司。公司没有森严的:等级制度,强调员工平等,崇尚创新,在处理多样化的问题时,鼓励员工跨部门合作,在工作中发挥自己的专长和创意,努力打造客户需要的产品。甲公司的企业文化类型属于()。
在教育过程中教师如果用简单粗暴、讽刺挖苦的做法来处理问题就违反了()原则。
相对于小汽车和公共汽车这两种交通方式.轨道交通具有较强的规模经济性,即只有当乘客流量相当大时才会实现盈亏平衡,所以适宜在已经成熟的社区建设,但这样一来,就不能起到为土地开发导向的作用。如果想用轨道交通导向,就要忍受较长时间的亏损,并且冒较大投资风险,且难以
Whatcanwelearnabouttheradiostation?
Theywaitedinthe______forthefrontdoortoopen.
Iunderstand______preparationthatstaffmustputinunderpressuretomeetthedeadline.
SomeyearsagoIwasofferedawritingassignmentthatwouldrequirethreemonthsoftravelthroughEurope.[hadbeenabroadaco
最新回复
(
0
)