全国计算机等级四级机试试题及答案一(16-18)

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论


18./* 已知在文件IN.BAT中存有N个实数(N<200),函数ReadDAT()读取这N个实数并存入数组XX中。请编制函数CalValue(),其功能要求是:1.求出这N个实数的平均值aver;2.分别求出这N个实数的整数部分值的平均值averint以及其小数部分值的平均值averdel,最后调用函数WriteDAT()把所求的结果输出到文件out10.DAT中。 
  注意:部分源程序存放在文件PROG1.C中。 
  请勿改动主函数main(),读数据函数ReadDAT()和输出数据函数 
WreitDAT的内容。*/ 
#include  
#include  
#define MAXNUM 200 
float xx[MAXNUM] ; 
int N = 0 ; /* 文件IN.DAT中共有多少个实数 */ 
double aver = 0.0 ; /* 平均值 */ 
double averint = 0.0 ; /* 整数部分值的平均值 */ 
double averdec = 0.0 ; /* 小数部分值的平均值 */ 
int ReadDat(void) ; 
void WriteDat(void) ; 
void CalValue(void) 


void main() 

clrscr() ; 
if(ReadDat()) { 
printf("数据文件IN.DAT不能打开!/007/n") ; 
return ; 

CalValue() ; 
printf("文件IN.DAT中共有实数%d个/n", N) ; 
printf("平均值=%.2lf/n", aver) ; 
printf("整数部分值的平均值=%.2lf/n", averint) ; 
printf("小数部分值的平均值=%.2lf/n", averdec) ; 
WriteDat() ; 

int ReadDat(void) 

FILE *fp ; 
int j ; 
if((fp = fopen("in.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(void) 

FILE *fp ; 
fp = fopen("OUT10.DAT", "w") ; 
fprintf(fp, "%d/n%.2lf/n%.2lf/n%.2lf/n", N, aver, averint, averdec) ; 
fclose(fp) ; 
}

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答