噫吁汐 2023-11-16 20:07 采纳率: 95%
浏览 7
已结题

c语言,子序列的和,无输出结果

题目如下

img

代码如下:


#include<stdio.h>
int main(){
    freopen("input.txt","r",stdin);
    int n,m;
    int count=1;
    while(scanf("%d",&n)&&n){
        scanf("%d",&m);
        long double s=0;
        for(int i=n;n<=m;i++){
            
            s+=1.0/i/i;
            
        }
        printf("Case %d : %.5f\n",count++,s);
    }
    
}

程序无法输出案例,貌似是死循环了,但我找不到哪里出的问题,请大家帮我看一下

  • 写回答

2条回答 默认 最新

  • 庞加莱的算法空间 2023-11-16 21:13
    关注

    呃,应该for循环那里,终止条件不是n小于等于m而是i小于等于m,因为题目输入,除了最后一组必然有n小于m,所以你的代码不会终止哈

    另外这个题有提示说"有陷阱",可能要注意一下。我觉得有一种情况是,假如说输入的n,m有非常多组的话,你这个代码可能会超时哈

    更新1
    还有一点是long double在printf的时候需要用"%.5Lf",所以有两种改法,一种是改成double s其他不用改,还有一种是在printf的时候改成"%.5Lf"哈。
    不过一般来说大部分题目double就足够了,我感觉可以改成double s

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月16日

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证