首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制函数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-06-17
84
问题
请编制函数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 O;
}
void Compute(void)
{
}
void main( )
{
int i;
for(i=O;i<MAX;i++)
xx
=0;
if (ReadDat ( ) )
{
print f ("数据文件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,"%dln%dln%lf\n%lfkn",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,其中包含文件的一些属性信息。可定义指针指向该结构体,这个指针称为文件指针。要从文件中读取数据,首先要判断该文件是否能以“读”的方式打开。若能打开,使用函数intfscanf(FILE*fp,char*format,args)从fp所指向的文件中依次读取数据。在本题中,数据的存放很有规律,将数据读出存入数组xx时,只要控制数组下标就可以了。若文件结束,则退出读取循环。最后要关闭文件。若一个数除以2取余得0,则该数是偶数,否则为奇数。由方差公式可知,这是求一些连续的数的表达式的值,所以可以使用循环求得方差。
转载请注明原文地址:https://www.kaotiyun.com/show/OIvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
通过I2C、SPI、UART、USB等可以实现嵌入式系统间或嵌入式系统与外围器件等的连接,下面相关叙述中,正确的是()。
实时系统的任务时限有两种类型,分别是【67】和【68】。
嵌入式系统的硬件与通用计算机一样,其主体是中央处理器和存储器。下面关于嵌入式系统CPU的叙述中,错误的是()。
假设一台数码相机一次可连续拍摄24位色(真彩色)的4096×4096的彩色相片160张,数据压缩比平均是4,则它使用的存储器容量大约是()。
为用ARM芯片的一根GPIO引脚驱动一个LED(发光二极管),设计了如下图(a)~(d)共4个具体的电路。图中,设计得最合理的电路是()。
在μC/OS-II操作系统中,当处于运行态的任务执行节拍延时函数OSTimeDly()后,该任务将转入【73】_______态。一旦预定的延时时间达到,该任务立即转入【74】_______态。
下图给出了产生嵌入式处理器时钟信号的两种方法,其中左图为使用【55】_______时钟信号发生器产生嵌入式处理器时钟信号的方法,右图为使用【56】_______时钟信号源产生嵌入式处理器时钟信号的方法。
数字音频的比特率(码率)指的是每秒钟的数据量,它与取样频率、量化位数、声道数目、使用的压缩编码方法等密切相关。假设数字音频的比特率为16kb/s,其取样频率是8kHz,单声道,量化位数为8位,采用压缩编码,那么压缩比是()。
具有wi—Fi功能的手机、平板电脑、笔记本电脑等终端设备,需要在有“热点”的地方才可能接入无线网络。所谓“热点”其正式的名称是__________【45】,它实际上是一个无线交换机或无线__________【46】,室内覆盖距离一般仅为30m左右,室外通常
RTIAnux基本的设计理念就是“架空”Linux内核,以便让其他实时进程能尽快地被执行。RTLinux开发者并没有针对实时操作系统的特性而重写Linux的内核,而是将Linux的内核代码做一些修改,将Linux的任务以及Linux内核本身作为一个【75】
随机试题
人民群众是历史创造者的原理的理论前提是()。
A.杂醇油B.甲醇C.乙醇D.氰化物E.甲醛含量高时可以造成饮用者头痛和大醉的酒类成分是
C1D因子
A.“二杠”B.“大挺”C.“门庄”D.“三岔”E.“莲花”花鹿茸具1个分支者习称
采用低应变反射波法检测桩身完整性,锤击桩头输入初始应力波脉冲,当波形一定时我们需要关注的主要问题是()。
砌筑地面以下砌体时,应使用的砂浆是()。
项目风险就是项目生命期中的风险,即可能导致项目损失的不确定性。它会对项目目标产生诸多影响,在项目里我们只考虑________。
乔姆斯基认为语言是某种天赋,他提出了语言学理论。(淄博文昌湖)()
已知X1,…,Xn是来自总体X容量为n的简单随机样本,其均值和方差分别为与S2.如果总体X服从正态分布N(0,σ2),试证明:协方差Cov(X1,S2)=0.
设求∫02πf(x-π)dx.
最新回复
(
0
)