设为首页 加入收藏

TOP

全国计算机等级考试二级C语言上机题21-30
2014-11-14 14:00:16 来源: 作者: 【 】 浏览:27
Tags:全国 计算机 等级考试 二级 语言 上机 21-30

  ☆题目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
#include
#include

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);
}


★题目22
请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。
例如若n为1000时,函数值应为:s=153.909064。
部分源程序存在文件prog1.c中。
请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。
#include
#include
#include

double countValue(int n)
{ int i;
double s=0.0;
for(i=1;i if(i!==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;i<10;i++){
fscanf(fp,"%d\n",&n);
s=countValue(n);
fprintf(wf,"%f\n",s);
}
fclose(fp);
fclose(wf);
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级二级C语言章节习.. 下一篇全国计算机等级考试二级C语言上机..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: