首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数ReadDat()实现从文件IN83.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值ave1、偶数的平均值ave2及所有奇数的方差totfc的值。最后调用函数WriteDa
请编制函数ReadDat()实现从文件IN83.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值ave1、偶数的平均值ave2及所有奇数的方差totfc的值。最后调用函数WriteDa
admin
2010-01-11
62
问题
请编制函数ReadDat()实现从文件IN83.DAT中读取1000个十进制整数到数组xx中。请编制函数Compute()分别计算出xx中奇数的个数odd、奇数的平均值ave1、偶数的平均值ave2及所有奇数的方差totfc的值。最后调用函数WriteDat()把结果输出到 OUTB3.DAT文件中。
计算方差的公式如下:
设N为奇数的个数,xx
为奇数,ave1为奇数的平均值。
原始数据的存放格式是:每行存放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 ave1=0.0,ave2=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{
FILE *fp;
if((fp=fopen("IN83.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("数据文件IN83.DAT不能打开!\007\n");
return;
}
Compute();
printf( "ODD=%d\nAVE1=%f\nAVE2=%f\nTOTFC=%f\n",odd, ave1,ave2,totfc);
WriteDat();
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("OUT83.DAT","w");
fprintf(fp,"%d\n%lf\n%lf\n%lf\n",odd,ave1,ave2,totfc);
fclose(fp);
}
选项
答案
int ReadDat(void) { FILE *fp; int i,j; if((fp=fopen("IN83.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*/ ave1+=xx[i]; /*求奇数的和*/ yy[odd-1]=xx[i]; /*将奇数存入数组yy中*/ } else { even++; /*计算出xx中偶数的个数even*/ ave2+=xx[i]; /*求偶数的和*/ } ave1/=odd; /*求奇数的平均值*/ ave2/=even; /*求偶数的平均值*/ for(i=0;i<odd;i++) totfc+=(YY[i]-ave1)*(yy[i]-ave1)/odd; /*求所以奇数的方差*/ }
解析
本题考查的知识点如下:
(1) 从文件中读取数据。
(2) 奇偶数的判断和方差的求法。
在C语言中,有一结构体类型FILE,其中包含文件的一些属性信息。可定义指针指向该结构体,这个指针称为文件指针。要从文件中读取数据,首先要判断该文件是否能以“读”的方式打开。若能打开,使用函数int fscanf(FILE *fp, char *format, args)从fp所指向的文件中依次读取数据。在本题中,数据的存放很有规律,将数据读出存入数组xx时,只要控制数组下标就可以了。若文件结束,则退出读取循环。最后要关闭文件。若一个数除以2取余得0,则该数是偶数,否则为奇数。由方差公式可知,这是求一些连续的数的表达式的值,所以可以使用循环求得方差。
转载请注明原文地址:https://www.kaotiyun.com/show/vb5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
下列文件物理结构中,适合随机访问且易于文件扩展的是()。
有一个虚拟页式存储系统采用最近最少使用(LRU)页面置换算法,系统分给每个进程3页内存,其中一页用来存放程序和变量i,j(不作他用)。假设一个页面可以存放150个整数变量。某进程程序如下:设变量i,j放在程序页面中,初始时,程序及变量i,j已在内存
在IP分片数据报中,与原IP数据报一定相同的字段是()。
某文件系统采用UNIX5三级索引结构,1节点中包含13个地址项,其中0-9项为直接地址,10为一次间接索引项,11为二次间接索引项,12为三级间接索引项。若磁盘块大小为4096B,地址项占用4B,则该文件系统中文件的最大尺寸不能超过下列哪项数值?(
某磁盘结构中有8个盘面,每个盘面有2500个柱面(磁道),每个柱面有80个扇区,数据块大小等于一个扇区大小。用户要访问一个数据块,其逻辑块号为385961,那么该数据块对应的盘面、柱面和扇区号各为多少(所有编址均从O开始)?()
假设系统由相同类型的7个资源被3个进程共享,若要使系统不会死锁,每个进程最多可以申请的资源个数是()。
某系统在打印数据时,读数据进程、处理数据进程和打印结果进程之间的相互关系是()。
操作系统中,把逻辑地址转换成绝对地址的工作称为()。
信息系统设计是系统开发的重要阶段,而进行系统设计的主要依据应是
随机试题
有甲、乙、丙、丁四个投资者,均申报买进X股票,申报价格和申报时间分别为:甲的买进价为10.70元,时间是13:35;乙的买进价为10.40元,时间是13:40;丙的买进价为10.75元,时间为13:55;丁的买进价为10.40元,时间为13:50。则四位投
心肌中富含的LDH同工酶是
某建设项目,当资本利率i1=15%时,净现值为560万元;当i2=18%时,净现值为-630万元。基准收益率为10%,则该项目的内部收益率应()。
______是儿童身心发展到一定水平的产物,是外部言语的内化,是思维过程的依靠,对心理活动有调节和控制的作用。
下列体现循序渐进教学原则的是()。
义务教育实行国务院领导,省、自治区、直辖市人民政府统筹规划实施,()为主管理的体制。
从社会角度看,“无校籍管理”对时下家长和学生的“名师”、“名校”崇拜情节有纠偏作用,能够有效________择校热的升温,减轻民众的经济负担和心理压力。填入画横线部分最恰当的一项是()。
二里头文化
苏美尔城邦的特征。
A、 B、 C、 D、 D
最新回复
(
0
)