程序PROG1.C.docVIP

  • 23
  • 0
  • 约6.38千字
  • 约 8页
  • 2017-12-22 发布于河南
  • 举报
程序PROG1.C

程序PROG1.C 44、程序PROG1.C的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代公式:Xn+1=cos(Xn) (n是迭代次数) 迭代步骤如下: (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()实现程序的功能,最后main()函数调用函数writeDAT()把结果输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()和输出数据函数writeDAT()的内容。 【参考答案】 float countValue() { float x0,x1=0.0; /* 定义变量 */ do /* 迭代循环 */ { x0=x1; x1=(float)cos(x0); } while(fabs(x0-x1)0.000001); return x1; /* 返回结果 */ } 47、程序PROG1.C的功能是:选出大于100小于1000范围之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的所有素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()和输出数据函数writeDAT()的内容。 【参考答案】 void countValue() { int i,j; /* 定义变量 */ int a1,a2,a3; for(i=101;i1000;i++) { a1=i%10; /* 数位分解 */ a2=i%100/10; a3=i/100; if(a3==(a2+a1)%10) /* 判断条件 */ for(j=2;ji;j++) /* 检查素数 */ if(i%j==0) break; if(j==i) /* 统计结果 */ { sum+=i; cnt++; } } } 48、程序PROG1.C的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,既第1个素数-第2个素数+第3个素数-第4个素数+第5个素数...的值sum。请编写函数countValue()实现程序的要求,最后main()函数调用函数writeDAT()把结果cnt和sum,输出到文件OUT.DAT中。 注意:部分源程序存放在PROG1.C中。请勿改动主函数main()和输出数据函数writeDAT()的内容。 【参考答案】 void countValue() { int i,j; /* 定义变量 */ for(i=800;i500;i--) /* 检查素数 */ { for(j=2;ji;j++) if(i%j==0) break; if(j==i) /* 统计结果 */ { cnt++; if(cnt%2==1) sum+=i; else sum-=i; } } } 49、程序PROG1.C的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请考生编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数readwriteDAT()把结果输出到OUT.DAT文件中。 例如,若输入17,5(中间用半角逗号隔开),则应输出:19 23 29 31 37。 注意:部分源程序存在PROG1.C文件中。请勿改动数据文件IN.DAT中的任何数据、主函数()和输出函数

文档评论(0)

1亿VIP精品文档

相关文档