急急!!!求解一道c语言题

1.下面程序中函数fun的功能是:根据整型形参m,计算如下公式的值:
y=1+1/2*2+1/3*3+1/4*4+...+1/m*m
请补充完整fun函数。
#include〈conio.h〉
#include〈stdio.h〉
double fun(int m)
{double y=0.0,i,t,a;
for(i=1;i<=m;i++)
{t=i*i;
a=1/t;
y=y+a;
}
}
main()
{int n;
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n));
}

第1个回答  2008-06-20
先要了解一下C语言里所有的位运算都是指二进制数的位运算。即使输入的是十进制的数,在内存中也是存储为二进制形式。

“<<”用法:
格式是:a<<m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。
“>>”用法:
格式是:a>>m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向右移动m位,低位移出后,高位补0
第2个回答  2008-06-20
double fun(int n)
{
int i,m;
double t,sum=0;
for(i=1;i<=n;i++)
{
m=i*i;
t=1/m;
sum+=t;
}
return(sum);
}
绝对没问题,TC编译通过
第3个回答  2008-06-20
#include<conio.h>
#include<stdio.h>

double fun(int m)
{
double y=0.0,i,t,a;

for(i=1;i<=m;i++)
{
t=i*i;
a=1/t;
y=y+a;
}
return y;
}

main()
{
int n;

printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n));
}本回答被提问者采纳
第4个回答  2008-06-20
在fun函数体的最后加上语句return y; 就可以了:)
相似回答