icsad 2022-03-22 11:55 采纳率: 87.5%
浏览 40
已结题

请问一下我这段代码哪里有错?


#include<stdio.h>

double x0=0.2,x1=0.4,x2=0.6,x3=0.8,x4=1.0;
double y0=0.98,y1=0.92,y2=0.81,y3=0.64,y4=0.38;

double s1,s2,s3,s4,s41,s5,s6,s61,s62,s7;
    s1=(y0-y1)/(x0-x1);
    s2=(y1-y2)/(x1-x2);
    s3=(s2-s1)/(x2-x0);
    s41=(y2-y3)/(x2-x3);
    s4=(s41-s2)/(x3-x1);
    s5=(s4-s3)/(x3-x0);
    s62=(y3-y4)/(x3-x4);
    s61=(s62-s41)/(x4-x2);
    s6=(s61-s4)/(x4-x1);
    s7=(s6-s5)/(x4-x0);

double fo,f1,f2,f3,f4;
    f0=y0;
    f1=s1;
    f2=s3;
    f3=s5;
    f4=s7;

double PX(double x){
    double px=f0+(x-x0)*f1+(x-x0)*(x-x1)*f2+(x-x0)*(x-x1)*(x-x2)*f3+(x-x0)*(x-x1)*(x-x2)*(x-x3)*f4;
    printf("P4(%lf)的值为:%lf",x,px);
}

void main(){
    double x,j;
    printf("由题目要求得x=0.2+0.08i,请依次输入i的值/n");
    for(int i=1;i<5;i++){
        printf("请输入第%d个i的值:",i);
        scanf("%lf",&j);
        x=0.2+0.08*j;
        PX(x);
    }
}

错误提示是error C2501: 's1' : missing storage-class or type specifiers

  • 写回答

3条回答 默认 最新

  • 卡尔曼的BD SLAMer 计算机视觉领域新星创作者 2022-03-22 13:35
    关注

    s1=(y0-y1)/(x0-x1);

    你这个(y0-y1)/(x0-x1)结果是个负数,你不能用double存储,你要用int

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

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置