你学你大坝呢


私信TA

用户名:dotcpp0742399

访问量:80

签 名:

菜鸟一个

等  级
排  名 13756
经  验 861
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校 家里蹲大学
专  业 厨师

  自我简介:

TA的其他文章

数组插入处理
浏览:30

解题思路:这道题首先发现规律,首项是2/1,第二项3/2,第三项是5/3,由此我们可以发现下一项的分母是前一项的分子,而分子则是前一项的分子加分母。由此,规律找到,接下来难点在于怎么让分子和分母自己完成操作,我们要借助第三者来帮我们完成。因为,如果你直接写d=c,c=c+d,那么你的d已经不是前一项的分母了,而是分子,相当于对c进行二次累加。



注意事项:变量的申明,要申明为float或者double形的,因为整数直接应用除法会去除小数部分,然后再转化成小数类型的。

参考代码:

#include <stdio.h> 

int main()

{

       int a, i;                                                             //申明两个变量

       float sum=0, c = 2.0, d = 1.0,b,e;                   //申明sum,记得赋初始值,否则会报错,b,c,d,e的申明,e用来周转数字

       scanf("%d",&a);                                              //输入项数

       for (i = 0; i < a; i++) {                                     //循环开始

       b = c / d;                                                        //初始b=2.0/1.0,经过下面程序运行完成新的赋值

       sum+=b;                                                         //完成前i项的累加

       if (i < a) {                                                         //置换分子分母的判断结构

           e = d;                                                          //先将分母拿出来,此时e为前一项的分母

           d = c;                                                          //此时下一项的分母替换为前一项的分子

           c = d + e;                                                    //完成对分子的加法

        }

}

       printf("%.2f\n", sum);                                      //输出sum,别忘了两位小数

       return 0;

}


 

0.0分

0 人评分

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

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区