计算机等级考试三级编程解析七

计算机等级考试三级编程解析七,第1张

计算机等级考试三级编程解析七,第2张

七。其他数学计算

请编译函数READDAT()从文件中读取1000个十进制整数。DAT放入数组XX;然后编译函数COMPUTE()分别计算XX中的奇数、偶数、AVERage ` aver和方差TOTFE,最后调用函数WRITEDAT()将结果输出到OUT。DAT文件。计算方差的公式如下:
原始数据文件的格式为:每行10个数字,用逗号分隔(每个数字大于0小于等于
2000)。
# include
# include
# define max 1000

int xx[MAX],奇数=0,偶数= 0;
double aver=0.0,totfc = 0.0

void WriteDat(void);

int read dat(void)
{
FILE * FP;

if((fp=fopen("in.dat "," r ")= = NULL)返回1;

fclose(FP);
返回0;
}

void Compute(void)
{

}

void main()
{
int I;
for(I = 0;ixx[I]= 0;
if(read Dat())
{ printf("无法打开. dat中的数据文件!\ 007 \ n ");
退货;
}
Compute();
printf(" ODD = % d \ nEVEN = % d \ nAVER = % lf \ nTOTFC = % lf \ n ",ODD,EVEN,AVER,t
otfc);
write dat();
}

void WriteDat(void)
{
FILE * FP;
int I;

fp=fopen("out.dat "," w ");
fprintf(fp," %d\n%d\n%lf\n%lf\n ",odd,even,aver,totfc);
f close(FP);
}

/*注意:*/
int read dat(void)
{
file * FP;
int I;

if((fp=fopen("in.dat "," r ")= = NULL)返回1;
for(I = 0;i{fscanf(fp," %d,",& xx[I]);
if(feof(FP))break;
}
fclose(FP);
返回0;
}

void Compute(void)
{
int I,YY[1000];
for(I = 0;I { aver+= xx[I];
if(xx[I]% 2)
odd++;
else
even++;
}
aver/=(奇数+偶数);
for(I = 0;itotfc+=(xx[I]-aver)*(xx[I]-aver)/(奇数+偶数);
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机等级考试三级编程解析七

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情