| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 682 人关注过本帖
标题:请教大师,这个解二元一次方程的程序为什么总是计算错误?
只看楼主 加入收藏
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
结帖率:97.06%
收藏
已结贴  问题点数:20 回复次数:10 
请教大师,这个解二元一次方程的程序为什么总是计算错误?
请教大师,这个解二元一次方程的程序为什么总是计算错误?
#include<stdio.h>
void main()
{
    double y1[100],x1=0,y3[100],x3[100],k1[100],b1[100];
    int n=1,i;
    for(i=0;i<n;++i)
    {
        scanf("%f%f%f",&y1[i],&y3[i],&x3[i]);

        y3[i]=k1[i]*x3[i]+y1[i];
        k1[i]=(y3[i]-y1[i])/x3[i];
        b1[i]=y1[i];
        printf("%f\n%f\n",k1[i],b1[i]);
    }
}

输入数据1.38775 1.3761 43

计算结果是:1.38775 1.3761 43
-92559631349317831000000000000000000000000000000000000000000000.000000
-92559604318754424000000000000000000000000000000000000000000000.000000
Press any key to continue
搜索更多相关主题的帖子: include double 
2014-08-05 21:27
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
这个程序同样计算错误?
#include<stdio.h>            
#include<stdlib.h>        
void main()        
{        
    double a1a2[100],   
           y1[100],ya[100],ay[100],x1=0,
           y2[100],yb[100],by[100],x2[100],
           y3[100],yc[100],cy[100],x3[100],
           y4[100],yd[100],dy[100],x4[100],
           y5[100],x5[100],
           yo[100],xo[100],y0[100],x0[100],
           k1[100],b1[100],k2[100],b2[100],k3[100],b3[100];
    int n=1,i;   
    for(i=0;i<n;++i)   
    {   
        scanf("%f%f%f%f%f%f%f%f%f",&a1a2[i],&y1[i],&ya[i],&y2[i],&yb[i],&y3[i],&yc[i],&y4[i],&yd[i]);

        ay[i]=(y1[i]+ya[i])/2;
        by[i]=(y2[i]+yb[i])/2;
        cy[i]=(y3[i]+yc[i])/2;
        dy[i]=(y4[i]+yd[i])/2;

        x1=0;
        x2[i]=a1a2[i]/1.37575;
        x3[i]=(2.5*a1a2[i])/1.37575;
        x4[i]=(3.5*a1a2[i])/1.37575;
        x5[i]=(4.6*a1a2[i])/1.37575;

        y0[i]=(ay[i]+by[i])/2;
        x0[i]=(x1+x2[i])/2;

        ay[i]=k1[i]*x1+b1[i];
        cy[i]=k1[i]*x3[i]+b1[i];
        k1[i]=(ay[i]-cy[i])/(x1-x3[i]);
        b1[i]=ay[i]-k1[i]*x1;

        by[i]=k2[i]*x2[i]+b2[i];
        dy[i]=k2[i]*x4[i]+b2[i];
        k2[i]=(by[i]-dy[i])/(x2[i]-x4[i]);
        b2[i]=by[i]-k2[i]*x2[i];

        xo[i]=(b2[i]-b1[i])/(k1[i]-k2[i]);   
        yo[i]=k1[i]*xo[i]+b1[i];

        y0[i]=k3[i]*x0[i]+b3[i];
        yo[i]=k3[i]*xo[i]+b3[i];
        k3[i]=(y0[i]-yo[i])/(x0[i]-xo[i]);
        b3[i]=y0[i]-k3[i]*x0[i];

        if(y5[i]=k3[i]*x5[i]+b3[i])   
        {   
            printf("%f\n%f\n",y5[i],x5[i]);
        }   
    }        
}
2014-08-05 22:11
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:3 
k1[i]没有赋值就使用了,k1[i]的值是未知的。
2014-08-05 22:47
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用apull在2014-8-5 22:47:33的发言:

k1没有赋值就使用了,k1的值是未知的。


k1是需要求出的未知数,不需要赋值啊
2014-08-06 09:47
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 4 楼 宇宙规律
麻烦你动动脑子再回3楼的帖子,你以为别人都是胡乱回帖的吗?
你的代码这几句到底在干嘛?k1没赋值却先使用,然后再算k1的值
y3[i]=k1[i]*x3[i]+y1[i];
k1[i]=(y3[i]-y1[i])/x3[i];
b1[i]=y1[i];

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 10:04
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
我修改后,程序如下,还是计算错误,我水平不够啊!
#include<stdio.h>
void main()
{
    double y1[100],y3[100],x3[100],k1[100],b1[100];
    int n=1,i,x1=0;
    for(i=0;i<n;++i)
    {
        scanf("%f%f%f",&y1[i],&y3[i],&x3[i]);

        k1[i]=(y1[i]-y3[i])/(x1-x3[i]);
        b1[i]=y1[i];

        printf("%f\n%f\n",k1[i],b1[i]);
    }
}
2014-08-06 10:42
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:17 
scanf("%lf%lf%lf",&y1[i],&y3[i],&x3[i]);

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 11:28
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用embed_xuel在2014-8-6 11:28:50的发言:

scanf("%lf%lf%lf",&y1,&y3,&x3);




大师有才!膜拜!

#include<stdio.h>
void main()
{
    double y1[100],y3[100],x3[100],k1[100],b1[100];
    int n=1,i,x1=0;
    for(i=0;i<n;++i)
    {
        scanf("%lf%lf%lf",&y1[i],&y3[i],&x3[i]);

        k1[i]=(y1[i]-y3[i])/(x1-x3[i]);
        b1[i]=y1[i];

        printf("%f\n%f\n",k1[i],b1[i]);
    }
}

输入数据1.38775 1.3761 43

结果正确:
1.38775 1.3761 43
-0.000271
1.387750
Press any key to continue
2014-08-06 11:42
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 8 楼 宇宙规律
你不问问为啥就结帖了?

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 11:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用embed_xuel在2014-8-6 11:58:15的发言:

你不问问为啥就结帖了?


为什么要问为什么?

授人以渔,不授人以鱼。
2014-08-06 12:01
快速回复:请教大师,这个解二元一次方程的程序为什么总是计算错误?
数据加载中...
 
   



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

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