1
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:编写函数fun,它的功能是:计算并输出下列级数和:
s=1/(1*2)+1/(2*3)+……+1/(n(n+1))
例如,当n=10时,函数值为:0.909091。
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
*********Begin**********和********** End **********不可删除
------------------------------------------------*/
void TestFunc();
#include <stdio.h>
double fun( int n )
{
/*********Begin**********/
/********** End **********/
}
main()
{
printf("%f\n", fun(10));
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int k;double j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
fscanf(IN,"%d",&k);
j=fun(k);
fprintf(OUT,"%f\n",j);
fclose(IN);
fclose(OUT);
}
答案
【参考代码】
int i;
double s=0;
for(i=1;i<=n;i++) s+=1.0/(i*(i+1));
return s;
2
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:程序定义了N×N的二维数组,并在主函数中自动赋值。
请编写函数fun(int a[ ][N]),函数的功能是:使数组左下三角元素中的值
全部置成0。例如:a数组中的值为
1 9 7 0 9 7
a= 2 3 8 ,则返回主程序后a数组中的值应为 0 0 8
4 5 6 0 0 0
*********Begin**********和********** End **********不可删除
------------------------------------------------*/
void