首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数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
29
问题
请编制函数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://www.kaotiyun.com/show/7OYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
在数据库系统中,【4】映像关系用于提供数据与应用程序间的逻辑独立性。
数据仓库是面向主题的、【14】的、非易失的、随时间变化的数据集合,用米支持管理人员的决策。
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品名varchar(40),类别varchar(20),进货单价int);
某公司计划开发一套生产管理系统,在开发前需对数据库产品进行选型工作。下列有关数据库产品选型的说法,错误的是()。
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:将ER图转换成关系模式,并指出每个关系模式的主键
为了保证正确地调度事务的并发操作,事务对数据库对象加锁、解锁需遵守加锁协议。加锁协议中两阶段加锁协议可以保证事务调度【5】性。
数据完整性保护是指保护数据的正确性和一致性。有下列关键字:Ⅰ.GRANTⅡ.CHECKⅢ.UNIQUEⅣ.NOTNULL上述关键字中和完整性定义相关的是()。
以下关于两段锁协议的原理叙述错误的是()。
按照数据库应用系统生命周期模型,系统设计阶段细分为概念设计、【2】设计和物理设计三个步骤。
下面哪一种加密算法属于对称加密算法?
随机试题
患儿男,5岁。发热1个月、伴双下肢疼痛一周入院。体检:体温38.5℃,面色苍白,下肢有少许散在出血点,浅表淋巴结易触及,如绿豆至黄豆大,心、肺无异常,肝肋下2cm,脾无肿大,双下肢无明显关节红肿,神经系统检查无异常。血红蛋白98g/L,白细胞数12×109
钢结构焊接后产生残余应力和变形的主要原因是什么?
男,48岁。体检时发现右肾下有2cmx2cm与位病变,IVU尿路造影未见右肾盂肾盏形态改变,CT可诊断右肾下极恶性肿瘤,左肾正常形态和功能。下列治疗方案哪项正确
甲、乙为夫妻(户籍所在地为H市大河区),二人于2004年10月以150万元的价格购置H市理光区彩霞路一套房屋,后因房屋距离工作单位较远,夫妻商议决定将房屋卖掉,但未找到合适的买主。2005年2月初,乙赴外地出差,住H市文化区的丙找到甲,称过去在乙带领下已看
根据票据法律制度的规定,下列情形中,导致票据无效的是()。
在我国,属于强制检定的管理范围是_______。
2008年美国爆发金融危机后出现以下经济现象:①消费下降,消费品进口减少;②失业增加,居民收入降低;③融资困难,企业倒闭增多。这些现象会引发其他国家的经济金融危机,其主要路径是()
《威斯特伐利亚和约》
中国共产党在中国革命中战胜敌人的“主要法宝”有()。
[2005年]设A,B,C均为n阶矩阵,E为n阶单位矩阵,若B=E+AB,C=A+CA,则B-C为().
最新回复
(
0
)