首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数WfiteDat()把结果输出到
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数WfiteDat()把结果输出到
admin
2010-06-27
95
问题
请编制函数ReadDat()实现从文件IN93.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、偶数的个数even、平均值aver及方差totfc的值,最后调用函数WfiteDat()把结果输出到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=%1f\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/yq5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
关于最早的IM系统的描述中,正确的是()。
分析下列程序。intmain(){printf("Hi");fork();printf("Hi"):fork();printf("Hi");fork();printf("H
关于Web服务的描述中,正确的是()。
一个路由器的路由表如下所示。当该路由器接收到的目的IP地址为10.4.1.4,它将采取的动作为()。
编写程序时通常会使用过程调用和系统调用,下列选项中,系统调用不能实现的功能是()。
以下列出了术语与英文缩写的对应关系,正确的是()。
在关系数据库规范化理论的研究中,在函数依赖的范畴内,【】达到了最高的规范化程度。
集成测试是软件测试中的一个重要环节,又可称为
软件工程包括软件开发技术和软件工程管理。以下不属于软件工程管理的是
软件测试的目的是
随机试题
我国现存的元代建筑有()。
(2018年济南市中区)作为一个教师,需要认识到学生并不是单纯的、抽象的学习者,而是有着丰富个性的完整的人。学习过程也并不是单纯的知识接受,而是学生整个内心世界的全面参与。这体现的学生观是()
三相汽轮发电机,输出的线电流IL是1380A,线电压UL为6300V,若负载的功率因数从0.8降到0.6,求该发电机输出的有功功率的变化?
可作为系统性红斑狼疮特异性标志的自身抗体是
某公路工程地质勘察,测得某工点的岩体弹性纵波速度为2.4km/s,其岩石弹性纵波速度为2.8km/s,则岩体完整程度为()。
阅读文章,完成后面各题。苦瓜肖复兴原来我家有个小院,院里可以种些花草和蔬菜。这些活儿,都是母亲特别喜欢做的。
一份公文在结构上要求的是()。
根据上述材料,下列说法正确的是:
ImmediatelyaftertheCivilWar,however,thedietbegan【C1】______.Railtransportationincreasedthesupplyand【C2】______the
Schoolrules:1.Studentsshouldbewearingyourschoolbadges(校章)anduniforms.2.Schoolstartsat7:30inthemorningan
最新回复
(
0
)