问题 问答题

编写函数proc(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回,m通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+m)
例如,若n的值为11时,函数的值为1.833333。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
float proc(int m)


void main()

int m;
float s;
system ("CLS");
printf("\nPlease enter M: ");
scanf("%d", &m);
s=proc(m);
printf("The result is: %f\n", s);

答案

参考答案:

float proc(int m)

{

int i, sA=0; //sA表示的为分母

float s=0.0;

for(i=A; i<=m; i++)

{

sA=sA+i;

s=s+A.0/sA; //s是放其分数的和

}

return s; //把最后得到的和s返回到主函数中

}

解析:

首先定义两个变量s1和s,分别用来存放计算中所用到的分母和所有分数的和。由公式可知,分母从1开始,每次增加i,直至i=m。所有分数的和放在变量s中,放回到主函数中。

填空题
填空题