c语言求教!!!!!

2025-06-22 05:37:09
推荐回答(4个)
回答1:

先占位置  保留四位小数的结果为1.1724
第五题

第五题程序

#include "stdafx.h"

#include

int main()

{

int i=0;

float sum=0.0;

for(i=1;i<1000;i++)

{

if((i%7==0&&i%11!=0)||(i%7!=0&&i%11==0))

sum+=1.0/i;

}

printf("\n1000以内能被7整除或被11整除\n\n但是不能同时整除的自然数的倒数之和为:%0.4f\n\n",sum);

return 0;

}

第六题程序

#include "stdafx.h"

#include

int Fibonacci(int a)//求费布拉奇数的函数

{

int sum=0;

if(a==0||a==1)  return 1;

else return Fibonacci(a-2)+Fibonacci(a-1);

}

int main()

{

int a,i,k=0;

printf("请输入一个整数\n");

scanf("%d",&a);

for(i=0;k

{

k=Fibonacci(i);

}

printf("小于%d的费布拉奇数为%d\n",a,k);

return 0;

}

不懂可追问  烦请采纳 谢谢

回答2:

第5题:
float sum=0;
for(i=1;i<1000;i++)
{
if (((i%7)==0 && (i%11)!=0) || ((i%7)!=0 && (i%11)==0))
sum+=1/(float)i;

}
如果为了追求效率,可以直接先运算,然后一步求出答案;
(1+1/2+1/3+1/4+...+1/n)*1/7且n*7<1000--->n=142
(1+1/2+1/3+1/4+...+1/n)*1/11且n*11<1000--->n=90
(1+1/2+1/3+1/4+...+1/n)*1/77且n*77<1000--->n=12
(1+1/2+1/3+1/4+...+1/n)=γ + ln(n) (γ =0.5772156649)
所以即求: γ+ln(142)/7+ln(90)/11-ln(12)/77
float sum;
sum = 0.5772156649+log(142)/7+log(90)/11-log(12)/77
第六题就是递归了。
int fibo(int n){ assert(n >= 0); return n < 2 ? n : fibo1(n - 1) + fibo1(n - 2);
}
但是效率低。

回答3:

第五题,我直接写简单代码
sum=0,
for(i=1,i<1000,i++){
if(i%7==0&&i%11!=0)
sum=sum+1/i:
if(i%7!=0&&i%11==0)
sum=sum+1/i

}
这样最后的sum就是结果。
第六题是递归思想,你先把递归函数编出来,然后输入a,i=Fibonacci(a),i就是结果。

回答4: