活动设计题   请编写函数proc(),其功能是:利用以下所示的简单迭代方法求方程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的一个实根,将其作为函数值返回。
    程序将输出结果root=0.739085。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
    试题程序:
    #include<conio.h>
    #include<math.h>
    #include<stdio.h>
    float proc()
    {
    float x1=0.0,x0;
    do
    {
    x0=x1;
    x1=cos(x0);
    }
    while(fabs(x0-x1)>=1e-6);
    return x1;
    }
    void main()
    {
    float f=proc();
    printf('root=%f\n',f);
    }
 
【正确答案】float proc() { float x1=0.0,x0; do { x0=x1; x1=cos(x0); } while(fabs(x0-x1)>=1e-6); return x1; }
【答案解析】本题比较简单,因为题目中已经给出了算法,只要把题目中的说法转换成C语言表达式基本上就出来了,本题最好用do-while循环来做,但要注意循环终止的条件。