首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值avel、偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把
请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值avel、偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把
admin
2022-10-08
81
问题
请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值avel、偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。
计算方差的公式如下:
设N为奇数的个数,xx
为奇数,avel为奇数的平均值。
原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)
注意:部分源程序已给出如下:
请勿改动主函数main()和输出数据函数WriteDat()的内容。
试题程序:
#include
#include
#include
#define MAX 1000
int xx[MAX],odd=0,even=0;
double avel=0.0,ave2=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{
int i;
FILE*fp;
if((fp=fopen(“IN.DAT”.“r”))==NULL)re
turn 1;
//编制函数ReadDat()的部分
fclose(fp);
return 0;
void Compute(void)
{
int i,yy[MAX];
for(i=0;i
yy
=0;
for(i=0;i
if(xx
%2) //测试结点i是否是奇数
{yy[odd++]=xx
;
//将结点i存人数组yy中
avel+=xx
;} //将结点i累加存入avel中
else //in果结点i不是奇数
{even++;
//累加变量even记录偶数的个数
ave2+=xx
;} //将xx
累加存人ave2中
if(odd==0)avel=0;
else avel/=odd; //计算奇数的平均数
if(even==0)ave2=0;
else ave2/=even; //计算偶数的平均数
for(i=0;i
totfc+=(yy
-avel)*(yy
-avel)/odd!
}
void main()
{
int i;
for(i=0;i
=0;
if(ReadDat()){
printf(“数据文件IN.DAT不能打开!\007\n”);
return;
}
Compute();
printf(“ODD=%d\nAVE1=%If\nAVE2=%If\nTOTFC=%lf\n”,odd,ave1,ave2,totfc);
WriteDat();
}
void WriteDat(void)
{
FILE*fp;
int i;
fp=fopen(“OUT.DAT”,“W”);
fprintf(fp,“%d\n%If\n%If\n%If\n”,odd,ave1,
ave2,totfc);
fclose(fp);
}
选项
答案
for(i=0;i
解析
本题考查文件的操作、奇偶判断和数学公式的计算。函数ReadDat()的作用是将文件中读取数据存入数组xx中,因为数据存放如文件的格式是每个数据被逗号隔开。所以fscanf(fp,“%d,”,&xx
)语句中字符串“%d.”,中要加入逗号。用if((i+1)%10==0)判断是否为一行10个数。如果是,则用fscanf(fr,“\n”)换行。
转载请注明原文地址:https://kaotiyun.com/show/wLKZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
请根据下图所示网络结构回答下列问题。如果想将图中网络接入Internet,那么在RG的上联口应串入专用设备,请写出这个设备必须具有的功能___________。
如下图所示,某校园网使用10Gbit/s的POS技术与CERNET相连,校园网内部使用OSPF路由协议,与CERNET连接使用静态路由协议。请阅读以下R3和R4的部分配置信息,并补充空白处的配置命令或参数,按题目要求完成路由器的相关配置。R3的POS
已知IP地址10.10.25.33和10.10.25.34、10.10.25.65和10.10.25.66预留给RG与其它路由器互联,请根据下图所示网络结构回答下列问题。如果将10.10.67.128/26划分3个子网,其中第一个子网能容纳16台主机
下图是校园网某台主机在命令行模式执行某个命令时用sniffer捕获的数据包。请根据图中信息回答下列问题。该主机上执行的命令是【16】,该主机上配置的DNS服务器的IP地址是【17】。
下列关于路由器技术指标的描述中,错误的是()。
下图是在一台主机上用sniffer捕获的数据包。请根据图中信息回答下列问题。如果sniffer启用了下图所示的过滤器“example”后,在该主机上使用浏览器成功地访问了http://it.nankai.edu.cn,那么sniffer是否可以捕获
某企业分配给产品部的IP地址块为192.168.31.192/26,分配给市场部的IP地址块为192.168.31.160/27,分配给财务部的IP地址块为192.168.31.128/27,那么这三个地址块经过聚合后的地址为()。
某公司分配给技术部、市场部和财务部的IP地址块分别为192.16.31.192/26、192.16.31.160/27和192.16.31.128/27,这三个地址块经过聚合后的地址块为()。
下列关于服务器技术的描述中,错误的是()。
Windows2003对已备份文件在备份后不做标记的备份方法是
随机试题
纵隔淋巴结肿大常见于下列哪种疾病:()
比较不同个体之间肺弹性阻力大小的指标是
某企业职工张三,因工伤住院。下列相关说法正确的是:()
大中型建设项目的竣工决算报表由下列()部分组成。
下列关于项目质量控制复核的说法中.错误的是()。
20世纪六七十年代,为促进教育机会均等,英国工党政府将文法学校、技术中学和现代中学合并组建成新型中学。这种中学是()。
A.上颌中切牙B.上颌前磨牙C.上颌第二磨牙D.下颌前磨牙E.上颌第三磨牙寻找颏孔的标志是()。
来週の水曜日までに作文を出してください。出し
Thispassagetellsusthat______.A"whitelie"means______.
A、Friends.B、Coworkers.C、Interviewerandinterviewee.D、Doctorandpatient.C应聘面试对话的一个重要特征是:面试人主要提问,受试人主要回答问题,对话内容以学习背景、工作经历为主,
最新回复
(
0
)