搜索
查看: 4254|回复: 22
打印 上一主题 下一主题

怎么用C语言解方程?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-17 19:47:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
怎么用C语言解方程啊?比如 3x+8=14,求x
谢谢回答!!!

最佳答案

查看完整内容

这个程序要求你先把方程整理好: [mw_shl_code=c,true]#include #include int main() { double a,b; printf("请输入一次项系数(若输入0,将退出):"); scanf("%lf",&a); if(a-0.0000001)//浮点数不用==判断大小 exit(0); printf("请输入常数项:"); scanf("%lf",&b); printf("原方程的解为:%g\n",-b/a); }[/mw_shl_code]
沙发
发表于 2014-8-17 19:47:59 | 只看该作者
这个程序要求你先把方程整理好:
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
    double a,b;
    printf("请输入一次项系数(若输入0,将退出):");
    scanf("%lf",&a);
    if(a<0.0000001&&a>-0.0000001)//浮点数不用==判断大小
        exit(0);
    printf("请输入常数项:");
    scanf("%lf",&b);
    printf("原方程的解为:%g\n",-b/a);
}[/mw_shl_code]
板凳
发表于 2014-8-18 11:43:13 | 只看该作者
用math.h  
地板
 楼主| 发表于 2014-8-19 10:32:10 | 只看该作者

math.h是什么?一种算法吗?
5#
 楼主| 发表于 2014-8-19 10:32:54 | 只看该作者

我是新手,呵呵呵呵呵呵呵
6#
 楼主| 发表于 2014-8-19 10:50:28 | 只看该作者
3x+8=14这个方程里面不都是整数吗?为什么数据类型要用double而不是int?
7#
发表于 2014-8-19 11:27:35 | 只看该作者
搁浅…… 发表于 2014-8-19 10:50
3x+8=14这个方程里面不都是整数吗?为什么数据类型要用double而不是int?

如果以后有小数,那么用int的话就要修改程序
还不如一开始设计的时候就设计用小数
8#
 楼主| 发表于 2014-8-19 12:34:16 | 只看该作者
981013 发表于 2014-8-19 11:27
如果以后有小数,那么用int的话就要修改程序
还不如一开始设计的时候就设计用小数

那  那个%1f是怎么回事?我只知道有%f,这两个一样吗?
9#
发表于 2014-8-19 13:24:51 | 只看该作者
搁浅…… 发表于 2014-8-19 12:34
那  那个%1f是怎么回事?我只知道有%f,这两个一样吗?

是%l(字母l)f
%lf是double用的
%f是float用的
10#
发表于 2014-8-19 13:31:29 | 只看该作者
首先,你关注的是解方程,还是用C语言解方程?
然后,是数学上所谓解方程,还是在某种实践活动中解方程?
如果是后者,要达到什么精度?数字会出现在什么范围?

11#
 楼主| 发表于 2014-8-19 20:26:34 | 只看该作者
981013 发表于 2014-8-19 13:24
是%l(字母l)f
%lf是double用的
%f是float用的

哦,我知道了,谢谢!
12#
 楼主| 发表于 2014-8-19 20:31:01 | 只看该作者
rosynirvana 发表于 2014-8-19 13:31
首先,你关注的是解方程,还是用C语言解方程?
然后,是数学上所谓解方程,还是在某种实践活动中解方程?
...

用C语言解方程,是数学上的方程,就是那种一元一次,二元一次,三元一次方程,当然我也想学用C语言编程序解一元二次方程,慢慢来吧,呵呵
13#
发表于 2014-8-19 21:30:23 | 只看该作者
搁浅…… 发表于 2014-8-19 20:31
用C语言解方程,是数学上的方程,就是那种一元一次,二元一次,三元一次方程,当然我也想学用C语言编程序 ...

[mw_shl_code=c,true]#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
   double a,b,c;
   printf("请输入二次项系数:");
   scanf("%lf",&a);
   printf("请输入一次项系数:");
   scanf("%lf",&b);
   printf("请输入常数项:");
   scanf("%lf",&c);
   double delta=b*b-4*a*c;
   if (delta<0)
      printf("该方程无解!\n");
   else
      printf("该方程的解为:\nx1=%g\nx2=%g\n",(-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a));
   system ("pause");
   return 0;
}
[/mw_shl_code]
14#
发表于 2014-8-19 21:47:04 | 只看该作者
搁浅…… 发表于 2014-8-19 20:31
用C语言解方程,是数学上的方程,就是那种一元一次,二元一次,三元一次方程,当然我也想学用C语言编程序 ...

数学上的解方程,重点是需要一个无限精度的库
有现成的可以用,也可以自己写
15#
 楼主| 发表于 2014-8-19 21:51:59 | 只看该作者
981013 发表于 2014-8-19 21:30
[mw_shl_code=c,true]#include
#include
#include

这位仁兄,加我QQ吧!913954521  以后我有问题再向你请教
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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