2006年9月全国等级考试三级c语言上机题库(二十三)

文章作者 100test 发表时间 2007:03:10 19:12:20
来源 100Test.Com百考试题网


★题目23 (实数运算题)

已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求:

1、求出这N个实数的平均值aver;

2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。

注意:部分源程序已给出。

请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。

#include

#include

#define MAXNUM 200

float xx[MAXNUM] .

int N= 0 . /* 文件IN.DAT中共有多少个实数 */

double aver=0.0./*平均值*/

double sumint=0.0./*整数部分之和*/

double sumdec=0.0./*小数部分之和*/

int ReadDat(void) .

void WriteDat(void) .

void CalValue(void)

{int i.

for (i=0.i

{sumint =(long)xx[i].

sumdec =xx[i]-(long)xx[i].

aver =xx[i].

}

aver/=N.

}

void main()

{ int i .

clrscr() .

for(i = 0 . i < MAXNUM . i ) xx[i] = 0 .

if(ReadDat()) {

printf("数据文件IN.DAT不能打开!\007\n") .

return .

}

Calvalue() .

printf("文件IN.DAT中共有实数=%d个\n", N) .

printf("平均值=%.2lf\n", aver) .

printf("整数部分之和=%.2lf\n", sumint) .

printf("小数部分之和=%.2lf\n", sumdec) .

WriteDat() .

system("pause").

}

int ReadDat(void)

{

FILE *fp .

int i = 0 .

if((fp = fopen("in.dat", "r")) == NULL) return 1 .

while(!feof(fp)) {

fscanf(fp, "%d,", &.xx[i ]) .

}

fclose(fp) .

return 0 .

}

void WriteDat(void)

{

FILE *fp .

fp = fopen("OUT.DAT", "w") .

fprintf(fp, "%.2lf\n%.2lf\n%.2lf\n", aver,sumint,sumdec) .

fclose(fp) .

}



相关文章


计算机等级考试证书含金量打折扣
2006年9月全国等级考试三级c语言上机题库(二十六)
2006年9月全国等级考试三级c语言上机题库(二十五)
2006年9月全国等级考试三级c语言上机题库(二十四)
2006年9月全国等级考试三级c语言上机题库(二十三)
2006年9月全国等级考试三级c语言上机题库(二十一)
2006年9月全国等级考试三级c语言上机题库(二十二)
2006年9月全国等级考试三级c语言上机题库(二十)
2006年9月全国等级考试三级c语言上机题库(十九)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛