已知在文件IN42.DAT中存有N个实数(N<200),函数ReadDat()读取这N个实数并存入数组xx中。请编制程序
已知在文件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);
}
void CalValue( ) { int i; double x,sum=0; for(i=0;iN;i++) { sumint=sumint+(int)xx[i]; /*求整数部分之和*/ x=xx[i]-(int)xx[i]; /*求每个数的小数部分*/ sumdec=sumdec+x; /*求小数部分之和*/ sum=sum+xx[i]; /*求N个数之和*/ } aver=sum/N; /*求N个数的平均数*/ } 解析:本题考查的知识点如下:
(1)循环结构的使用。
(2)强制类型转换。
将一个实数的整数部分和小数部分分开,这里使用的方法是强制类型转换法。强制类型转换是按照要求将表达式的值转换成指定的类型。将一个实数强制转换成整型数之后,其小数部分被去掉(不是四舍五入,而是直接删除)。对数组中的200个实数求和及平均值,可以使用循环结构。
关于x的分式方程x-x分之一=t-t分之一的解为x1=t,x2=﹣t分之一:x+x分之一=t+t分 数学 2020-05-01 …
设{W(t),t>=0}是参数为d的平方的(打不出来那个方差的符号,W(t)-aW(t-h)t>= 数学 2020-05-13 …
线性变换相关问题有线性变换T假设T^nX=T(T(T(...T(X)..)))设X为线性空间内一向 数学 2020-05-17 …
已知f(x-1)=x^2-4x,求函数f(x),f(2x+1)的解析式令t=x-1,则有:x=t+ 数学 2020-06-17 …
设y=f(x,t),且方程F(x,y,t)=0确定了t=t(x,y),求dy/dx457页的答案在 数学 2020-07-22 …
simulink中的s函数我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于 其他 2020-07-23 …
解方程时,把某个式子看成一个整体,用一个新的未知数去代替它,从而使方程得到简化,这叫换元法.先阅读 其他 2020-08-01 …
求f(x)=[(x^2+4)/√(x^2+3)]+1我的方法做不下去基本不等式法设√(x+3)=t 数学 2020-08-03 …
x=t^2dx=2tdt∫﹙√x﹚^3+1/√x+1dx=2∫{[t³+1]/[t+1]}tdt=2 数学 2020-12-17 …
随机过程X(t)=t^2+Asint+Bcost,A、B伪随机变量,且E[A]=E[B]=0,D[A 其他 2020-12-23 …