You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++多项式插值代码输入x后cout无输出问题排查(Polynomial Interpolation)

故障根本原因

你的代码出现无输出的核心问题是内层for循环的终止条件写错,导致程序进入死循环:

你编写的内层循环代码如下:

for(int j=0;i<size_count;j++)

这里你误把终止条件的j < size_count写成了i < size_count。外层循环的i在单次外层循环执行过程中是固定值,只要i小于size_count,这个内层循环的终止条件就永远满足,j会一直自增,要么最终访问数组越界崩溃,要么一直卡在循环中,自然不会执行后续的输出逻辑。

修复方案

仅需要把内层for循环的终止条件里的i改成j即可:

// 修正后的双层for循环
for(int i=0;i<size_count;i++)
{
    double rropt = f_x_values[i];
    for(int j=0;j<size_count;j++) // 终止条件修改为j < size_count
    {
        if(j!=i)
        {
            rropt *= ((t - x_values[j])/(x_values[i] - x_values[j]));
        }
    }
    k += rropt;
}

额外优化提示

你当前设置的退出条件是输入t==0时终止程序,如果你有插值计算x=0对应函数值的需求,可以调整退出逻辑避免功能冲突。

内容的提问来源于stack exchange,提问作者imbAF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:15:08