U2yyy 2022-04-19 12:17 采纳率: 71.4%
浏览 451
已结题

求分数序列前N项和的问题

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

#include<stdio.h>
double slv(int n);
int main(){

int n;

scanf("%d",&n);

printf("%.2f",slv(n));

return 0;

}
double slv(int n){
double sum=0;
int i;
int son=2;
int mother=1;
int mid;
for(i=0;i<n;i++){
sum+=(double)(son)/mother;
mid=son;
son=son+mother;
mother=mid;
}
return sum;
}

整体问题不大,但是pat上显示较大n会出错,不知道什么原因?

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-19 14:29
    关注

    项数 n 过大,double slv(int n) 函数里 son mother mid 变量的值会超 int 型的范围,修改如下,供参考:

    #include<stdio.h>
    double slv(int n);
    int main() {
        int n;
        scanf("%d", &n);
        printf("%.2f", slv(n));
        return 0;
    }
    double slv(int n) {
        double sum = 0;
        int i;
        double  son = 2.0, mother = 1.0, mid; // 修改
        for (i = 0; i < n; i++) {
            sum += son / mother;
            mid = son;
            son = son + mother;
            mother = mid;
        }
        return sum;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月19日

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧