私信TA

用户名:1678463512

访问量:7356

签 名:

等  级
排  名 2697
经  验 2114
参赛次数 0
文章发表 20
年  龄 20
在职情况 待业
学  校 秋长中学
专  业

  自我简介:

解题思路:后一项的分子等于前一项的分子+分母

               后一项的分母等于前一项的分子

注意事项:b,c变量不能为Int型,否则后面运算b/c,两个整型结果为整型,就算数组是浮点型,但程序只会在后面补0,导致运算结果不精确

c=b-c这里不能直接写成c=b,因为前面一句b+=c已经更改了b的值,再把b的值赋给c是错误的

参考代码:

int i;//循环变量

double sum = 0;//sum求和,分数相加为小数,为了提高精度,定义为double类型

int n;

double b = 2;

double c = 1;

double a[100];//定义一个浮点型数组a有100个元素,

scanf("%d",&n);

for(i = 0;i < n;i++)

{

   a[i] = b / c;//循环给数组a赋初值

   b += c;  //后一项的分子等于前一项的分子+分母  

   c = b - c;//后一项的分母等于本一项的分子-前一项的分母

}

for(i = 0;i < n;i++)

{

  sum += a[i];//数组中刚刚赋值过的所有元素相加

}

printf("%.2lf",sum);


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区