标题:求组,检测没有问题,但是一直运行输入数据之后就出现错误
只看楼主
hejingqi2323
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-5-25
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求组,检测没有问题,但是一直运行输入数据之后就出现错误
#include <stdio.h>
#include <math.h>
#define M 20
double f(double x,double y);
void main()
{
    double h,x,y,x0;y0;
    int N,i;
    printf("请输入步长h和要计算的函数值个数N:");
    scanf("%f %f",&h,&N);
    printf("请输入函数初值点(x0,y0):");
    scanf("%f %f",&x0,&y0);
    double Y0[M],Y1[M],Y2[M];
    for(i=0;i<=1;i=i+0.1);
    {
        x=i;
        y=sqrt(2*x+1);
        Y0[i*10]=y;
    }
    int j;
    x=x0;     //欧拉法
    Y1[0]=1;
    for(j=1;j<N;j++)
    {    Y1[j]=Y1[j-1]+h*f(x,Y1[j-1]);
        x+=h;
    }  
    x=x0;
    Y2[0]=1;  //改进欧拉法
    double p=0,c=0;            
    for(j=1;j<N;j++)
    {  
        p=Y2[j-1]+h*f(x,Y2[j-1]);  
        x+=h;  
        c=Y2[j-1]+h*f(x,p);  
        Y2[j]=(p+c)/2;  
    }
    printf("基点   欧拉法    改进的欧拉法    准确解");
    for(i=0;i<N+1;i++)
        printf("%-4f-10.6f%-10.6f%-10.6f",x0+i*h,Y1[i],Y2[i],Y0[i]);
}
double f(double x,double y)
{  
    return y-2*x/y;  
}  
搜索更多相关主题的帖子: 输入 double printf for 欧拉 
2018-05-25 22:29
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:10 
scanf double 要用 %lf

https://zh.
2018-05-25 23:19
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:10 
程序代码:
    for(i=0;i<=1;i=i+0.1);
    {
        x=i;
        y=sqrt(2*x+1);
        Y0[i*10]=y;
    }

for 分号去掉

https://zh.
2018-05-25 23:20
hejingqi2323
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-5-25
得分:0 
回复 3楼 lin5161678
解决啦,谢谢你们
2018-05-26 10:41
hejingqi2323
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-5-25
得分:0 
回复 2楼 lin5161678
谢谢你啦,已解决
2018-05-26 10:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487284-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.515945 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved