全国计算机等级考试三级网络技术南开上机100题(21-30).doc
文本预览下载声明
☆题目21(迭代方法求方程题)
下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
???? Xn+1=cos(Xn)
????迭代步骤如下:
(1)取X1初值为0.0;
(2)X0=X1,把X1的值赋给X0;
(3)X1=cos(X0),求出一个新的X1;
(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);
(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。
????请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。
????部分源程序已给出。
????请勿改动主函数main()和输出数据函数writeDat()的内容。
#include conio.h
#include math.h
#include stdio.h
float countValue()
{ float x0,x1;
x1=0.0;
do{ x0=x1;
?????? x1=cos(x0);
???? }while(fabs(x0-x1)=0.000001);
return x1;
}
main()
{
clrscr();
printf(实根=%f\n,countValue());
printf(%f\n,cos(countValue())-countValue());
writeDat();
}
writeDat()
{
FILE *wf;
wf=fopen(OUT17.DAT,w);
fprintf(wf,%f\n,countValue());
fclose(wf);
}
注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。
****************************************************************************
★题目22(平方根问题)
请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。
??例如若n为1000时,函数值应为:s=153.909064。
????部分源程序存在文件prog1.c中。
????请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。
#include conio.h
#include math.h
#include stdio.h
double countValue(int n)
{ int i;
double s=0.0;
for(i=1;in;i++)
???? if(i%21==0) s+=i;
return sqrt(s);
}
main()
{
clrscr();
printf(自然数之和的平方根=%f\n,countValue(1000));
progReadWrite();
}
progReadWrite()
{
FILE *fp,*wf;
int i,n;
float s;
fp=fopen(in.dat,r);
if(fp==NULL){
???? printf(数据文件in.dat不存在!);
???? return;
}
wf=fopen(out.dat,w);
for(i=0;i10;i++){
???? fscanf(fp,%d\n,n);
???? s=countValue(n);
???? fprintf(wf,%f\n,s);
}
fclose(fp);
fclose(wf);
}
*********************************************************************
题目23 (实数运算题)
已知在文件in.dat中存有N个(个数200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求:
1、求出这N个实数的平均值aver;
2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。
????注意:部分源程序已给出。
????请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。
#include stdio.h
#include conio.h
#define MAXNUM 200
float xx[MAXNUM] ;
int N= 0 ; /* 文件IN.DAT中共有多
显示全部