C语言OJ项目参考(1992)分数序列

简介: (1992)分数序列 Description 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。 Input 输入只有一个正整数n,1≤n≤10。 Output 输出该序列前n项和,结果保留小数后6位。 Sample Input 3 Sample Output 5.166667 参考解答#include

(1992)分数序列
Description
有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。
Input
输入只有一个正整数n,1≤n≤10。
Output
输出该序列前n项和,结果保留小数后6位。
Sample Input
3
Sample Output
5.166667
参考解答

#include <stdio.h>
int main ( )
{
    int m1=2,m2=1, n, t, i;
    double sum=2;
    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {
        t=m1;
        m1=m2+m1;
        m2=t;
        sum+=(double)m1/m2;
    }
    printf("%.6lf", sum);
    return 0;
}

  注:下面的程序,与上面仅sum的数据类型不同,但在OJ平台提交时就是错的。原因是float类型数据的精度不够。float的有效数字位数为6-7位,小数点后就要保留6位,注定了这6位中会有“意外”,故本题在精度方面的要求,必须要取double型。

#include <stdio.h>
int main ( )
{
    int m1=2,m2=1, n, t, i;
    float sum=2;
    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {
        t=m1;
        m1=m2+m1;
        m2=t;
        sum+=(float)m1/m2;
    }

    printf("%.6f", sum);
    return 0;
}
目录
相关文章
|
1月前
|
C语言 Windows
C语言课设项目之2048游戏源码
C语言课设项目之2048游戏源码,可作为课程设计项目参考,代码有详细的注释,另外编译可运行文件也已经打包,windows电脑双击即可运行效果
32 1
|
6月前
|
C语言
C语言实战项目——学生试卷分数统计
C语言实战项目——学生试卷分数统计
|
6月前
|
算法 C语言
C语言——oj刷题——回文字符串
C语言——oj刷题——回文字符串
35 2
|
6月前
|
算法 C语言
C语言——oj刷题——字符串左旋和轮转数组
C语言——oj刷题——字符串左旋和轮转数组
45 1
|
6月前
|
C语言
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
38 1
|
6月前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
6月前
|
C语言
C语言学习记录——鹏哥扫雷项目实现及递归展开、记录雷坐标
C语言学习记录——鹏哥扫雷项目实现及递归展开、记录雷坐标
75 0
|
6月前
|
C语言
C语言——oj刷题——猜数字游戏
C语言——oj刷题——猜数字游戏
29 0
|
6月前
|
编译器 C语言
C语言——oj刷题——判断闰年
C语言——oj刷题——判断闰年
73 0
|
6月前
|
C语言
C语言——oj刷题——找单身狗1
C语言——oj刷题——找单身狗1
36 0