三、程序题:请编写函数fun, 其功能是: 计算并输出下列多项式的值:
例如, 在主函数中从键盘给n输入8后, 输出为: s=0.662872。
注意: 要求n的值大于1但不大于100。
部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的花括号中填入
你编写的若干语句。
给定源程序:
#include
double fun(int n)
{
}
NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int n, i ; double s ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n);
s = fun(n);
fprintf(wf, "%lf\n", s);
}
fclose(rf); fclose(wf);
}
main()
{int n; double s;
printf("\nInput n: "); scanf("%d",&n);
s=fun(n);
printf("\ns=%f\n",s);
NONO();
}
参考答案:
double fun(int n)
{
int i;
double sum=0.0;
if (n>1 && n<=100) {
for(i=1; i<=n; i++)
sum+=1.0/(2*i-1)-1.0/(2*i);
}
return sum;
}
相关专题:
编辑推荐: