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

2025-01-08 08:31:14
推荐回答(4个)
回答1:

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

“<<”用法:
格式是:a<=0。
功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。
“>>”用法:
格式是:a>>m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向右移动m位,低位移出后,高位补0

回答2:

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:

#include
#include

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:

在fun函数体的最后加上语句return y; 就可以了:)