问答题 1.  请编写函数proc(),其功能是:计算并输出下列多项式的值:
    S=(1+1/2)+(1/3+l/d)+…+[1/(2n-1)+1/2n]
    例如,若主函数从键盘给n输入100后,则输出为S=5.878031。
    n的值要求大于1,但不大于100。
    注意:部分源程序如下。
    请勿改动主函数main()和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
    试题程序:
    #include<stdio.h>
    double proc(int n)
    {
    }
    void main()
    {
    int n;
    double sum;
    printf("\nInput n:");
    scanf("%d",&n);
    sum=proc(n);
    printf("\ns=%f\n",sum);
    }
【正确答案】double proc(int n)
   {
   int i;
   double sum=0.0;    //变量s存放和,因此其初始值为0
   for(i=1;i<=n;i++)    //从第1项到第n项
   sum=sum+(1.0/(2*i-1)+1.0/(2*i));  //把分子、分母转换为符合题意的类型
   return sum;  //最后把和值返回给主函数
   }
【答案解析】 首先,定义一个变量来存放表达式的和,根据题目提供的多项式,通过n次循环来求出n项的和;最后,把所求得的和返回给主函数。