搜索
楼主: 搁浅……
打印 上一主题 下一主题

怎么用C语言解方程?

[复制链接]
16#
 楼主| 发表于 2014-8-19 21:57:08 | 只看该作者
rosynirvana 发表于 2014-8-19 21:47
数学上的解方程,重点是需要一个无限精度的库
有现成的可以用,也可以自己写

无限精度的库?math.h?
17#
 楼主| 发表于 2014-8-19 21:58:24 | 只看该作者
981013 发表于 2014-8-19 21:30
[mw_shl_code=c,true]#include
#include
#include

这位仁兄,加我QQ吧?913954521   
以后有问题再向你请教
18#
 楼主| 发表于 2014-8-19 22:02:29 | 只看该作者
981013 发表于 2014-8-19 21:30
[mw_shl_code=c,true]#include
#include
#include

这位仁兄,加我QQ吧?913954521
以后有问题再向你请教
19#
 楼主| 发表于 2014-8-19 22:07:16 | 只看该作者
981013 发表于 2014-8-19 21:30
[mw_shl_code=c,true]#include
#include
#include

这位仁兄,加我QQ吧?913954521
以后有问题再向你请教
20#
发表于 2014-8-19 22:26:49 | 只看该作者
搁浅…… 发表于 2014-8-19 21:57
无限精度的库?math.h?

math.h明显没有无限精度的支持的

例如方程的解有25位数字,内置那些数据类型肯定是没法满足的
再比如,用内置的浮点数据类型来做数学解根本就是玩火,一个十进制浮点数类型也是必须的
21#
 楼主| 发表于 2014-8-21 11:42:53 | 只看该作者
981013 发表于 2014-8-19 21:30
[mw_shl_code=c,true]#include
#include
#include

解二元一次方程呢?不用写代码,给我个思路就可以,谢谢!我都想破脑袋了
22#
发表于 2014-8-21 22:15:08 | 只看该作者
搁浅…… 发表于 2014-8-21 11:42
解二元一次方程呢?不用写代码,给我个思路就可以,谢谢!我都想破脑袋了

如果要说算法的名字,叫高斯消元法
但是你要的是数学上解方程,还是先写一个十进制浮点数的数据类型出来吧
23#
 楼主| 发表于 2014-8-22 21:28:37 | 只看该作者
rosynirvana 发表于 2014-8-21 22:15
如果要说算法的名字,叫高斯消元法
但是你要的是数学上解方程,还是先写一个十进制浮点数的数据类型出来 ...

我用克拉默法则解二元一次方程的方法写了一个代码,你看一下
[mw_shl_code=c,true]#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{        
    double a1,b1,c1,a2,b2,c2,d,e,f,x,y;
    printf("请将两个方程整理成\na1x+b1y=c1\na2x+b2y=c2 的形式,整理完之后按回车键\n");
    getchar();
    printf("请依次输入\na1,b1,c1;\na2,b2,c2\n每输入一个数按一次回车键\n");
    scanf("%lf %lf %lf %lf %lf %lf",&a1,&b1,&c1,&a2,&b2,&c2);
    d=a1*b2-b1*a2;
    e=c1*b2-b1*c2;
    f=a1*c2-c1*a2;
    printf("方程的解为:\nx=%g y=%g",e/d,f/d);
       
        system("pause");
        return 0;
}[/mw_shl_code]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表