搜索
查看: 1538|回复: 6
打印 上一主题 下一主题

大师帮帮我!

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-10 18:45:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
怎样用啊哈C解方程和不等式?好像它不会自己解啊。

沙发
发表于 2013-5-10 18:57:25 | 只看该作者
如果你只是要解方程,那么去用mathematica
如果你是想自己实现,那么先想好要解什么类型的方程,精度达到什么程度
板凳
 楼主| 发表于 2013-5-10 18:59:50 | 只看该作者
任意方程和不等式……这个可以办到吗?
地板
发表于 2013-5-10 19:04:52 | 只看该作者
Dsp 发表于 2013-5-10 18:59
任意方程和不等式……这个可以办到吗?

……
如果不限制用初等算符,那么有些方程图灵机没法计算,不过我觉得你想要的不是这个回答吧
不要空泛地讨论这个问题,先确定你要解什么方程
5#
 楼主| 发表于 2013-5-10 19:21:25 | 只看该作者
rosynirvana 发表于 2013-5-10 19:04
……
如果不限制用初等算符,那么有些方程图灵机没法计算,不过我觉得你想要的不是这个回答吧
不要空泛 ...

一次和二次方程。请问有具体代码吗,或者方法。
6#
发表于 2013-5-10 19:55:57 | 只看该作者
Dsp 发表于 2013-5-10 19:21
一次和二次方程。请问有具体代码吗,或者方法。

你写一个读取方程系数,然后根据公式求解的就行了啊
7#
发表于 2013-5-10 20:01:49 | 只看该作者
  1. #include <stdio.h>

  2. void eq(double, double);

  3. int main()
  4. {
  5.         double a, b;
  6.         int inputN;
  7.        
  8.         puts("For ax+b=0, Input a and b");
  9.         inputN = scanf("%lf %lf", &a, &b);
  10.        
  11.         if(inputN != 2)
  12.                 do{                       
  13.                         while(getchar() != '\n')
  14.                                 ;
  15.                         puts("For ax+b=0, Input a and b");
  16.                         inputN = scanf("%lf %lf", &a, &b);
  17.                
  18.                 }while(inputN != 2);
  19.        
  20.         eq(a, b);
  21.        
  22.         return 0;
  23. }

  24. void eq(double a, double b)
  25. {
  26.         if(a == 0 && b == 0)
  27.                 puts("Any x");
  28.         else if(a == 0)
  29.                 puts("No x");
  30.         else
  31.                 printf("%f\n", (0-b)/a);
  32. }
复制代码
写了个一元一次方程的,输入的错误恢复比较麻烦,如果你不要求错误恢复能简单很多
如果要求无限精度,要写的代码就更多
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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