当前位置: 代码迷 >> C语言 >> [求助]利用函数求倒数之和 -.-!
  详细解决方案

[求助]利用函数求倒数之和 -.-!

热度:560   发布时间:2007-05-24 12:12:39.0
[求助]利用函数求倒数之和 -.-!
老师上课时候留的作业,我没有弄懂,特别是第二题 唉,做不出来都.
大家帮帮看看吧 ,小弟 谢谢了

1.求倒数之和;
求1+1/2+1/3+...+1/i 的函数rsun().
以i=10为例.
结果:

Sum=1+1/2+...+1/10=2.928968
To find the sum of 1+1/2+...+1/N
Enter integer N? 100
sum=1+1/2+...+1/100=5.187378



2.register变数的应用
函数func(i) 是求 1+2+3+...+i 的和的函数,
求func(1)+func(2)+...func(20)的值.

结果:
sum of (1+...+10)+(1+...+11)+...+(1+...+20)=1375

搜索更多相关的解决方案: 倒数之和  函数  sum  func  

----------------解决方案--------------------------------------------------------

第二题的 结果为1540 你的结果没有把func(1)到func(9)算上
func(1)=0+1
func(2)=0+1+2
.
.
.
.



#include<stdio.h>
int func(int num);
void main()
{
int in,i,sum=0;
printf("请输入一个数:");
scanf("%d",&in);

for(i=1;i<=in;i++)
{
sum += func(i);
}
printf("\n\nsum is %d\n",sum);
}
int func(int num)
{
int he=0,j;
for(j=1;j<=num;j++)
{
he += j;
}
return he;
}


----------------解决方案--------------------------------------------------------
#define N 100
float rn(int n)
{
float s;
s=1.0/n;
return(s);
}
main()
{
int i=1;
float sum=0;
for(;i<=N;i++)
sum+=rn(i);
printf("%5.2f\n",sum);
getch();
}

----------------解决方案--------------------------------------------------------
LS的这样函数太牵强了.应该把求和放到函数中.
----------------解决方案--------------------------------------------------------

1.求倒数之和;
double Sum(int n)
{
double sum=0;
for(int i = 1 ; i <= n ; i ++ )
{
sum+=1.0/i;
}
return sum;
}
2.
long Fun_Sum(int n)
{
long t = 0 , sum = 0 ;
for( int i = 1 ; i <= n ; i ++ )
{
t += i ;
     sum += t ;
}
return sum;
}


----------------解决方案--------------------------------------------------------

2.register变数的应用
函数func(i) 是求 1+2+3+...+i 的和的函数,
求func(1)+func(2)+...func(20)的值.

结果:
sum of (1+...+10)+(1+...+11)+...+(1+...+20)=1375

这是题目啊 结果就是这样写的


----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{int a;
float b;
float sum(int x);
scanf("%d",&a);
b=sum(a);
printf("%4.3f\n",b);
getch();
}
float sum(int x)
{float i;
float s=0;
for(i=1;i<=x;i++)
s+=1/i;
return s;
}
多看看书啊
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int a,n,sum;
for(n=1;n<=100;n++)
{
a=1/n;

sum=sum+a;
}
printf("sum=%f",sum);
}
----------------解决方案--------------------------------------------------------

不好意思,应该是:double sum,a;
printf("sum=%lf",sum);


----------------解决方案--------------------------------------------------------
  相关解决方案