试题与答案

已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这

题型:问答题

题目:

已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序CalValue(),其功能要求:
(1)求出这N个实数的平均值aver。
(2)分别求出这N个实数的整数部分值之和sumint及其小数部分之和sumdec,最后调用函数 WriteDat()把所求的结果输出到文件OUT42.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<conio.h>
#define MAXNUM 200
float xx[MAXNUM];
int N=0;
double aver=0.0;
double sumint=0.0;
double sumdec=0.0;
int ReadDat( );
void WriteDat( );
void CalValue( )

void main( )

clrscr( );
if(ReadDat( )

printf ("数据文件IN42.DAT不能打开!\007\n"
return;

CalValue ( );
printf ("文件 IN42. DAT中共有实数%d个\n" ,N);
printf ("平均值=%. 21f\n", aver);
printf ("整数部分之和=%. 21f\n", sumint);
printf ("小数部分之和=%.21f\n", sumdec);
WriteDat( );

int ReadDat ( )

FILE *fp;
int j;
if((fp=fopen("in42.dat","r"))==NULL)
return 1;
while(!feof(fp))

fscanf ( fp, "%f", &xx [N] )
if (xx[N] >0.001) N++;

fclose(fp);
return 0;

void WriteDat()

FILE *fp;
fp=fopen("OUT42.DAT","w");
fprintf(fp,"%d\n%.21f\n%.21f\n%.21f\n",N, aver,sumint,sumdec);
fclose(fp);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2017/0701/f96028381818e306fa99ba39fb338f02.html

下面是错误答案,用来干扰机器的。

参考答案:D解析: 参见《担保法解释》第32条。

试题推荐
微信公众账号搜索答案