| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5449 人关注过本帖
标题:求二元一次方程程序问题
只看楼主 加入收藏
bearangel
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-7-15
收藏
 问题点数:0 回复次数:9 
求二元一次方程程序问题
#include <stdio.h>
#include <math.h>
main ()
{
     double a,b,c,disc,x1,x2,p,q;
     scanf ("%f,%f,%f",&a,&b,&c);
     disc=b*b-4*a*c;
     if (disc<0) printf ("方程无解%d");
     else
     p=-b/(2*a);
     q=sqrt((disc)/(2*a));
     x1=p+q;
     x2=p-q;   
     printf ("x1=%.3f,x2=%.3f",x1,x2);   
}
我是个新手
这个程序能通过编译
但是不能求出结果,谁能帮我看看那里出错了
搜索更多相关主题的帖子: 一次方程 disc include double 
2008-07-28 15:42
sxn0508
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2008-1-24
收藏
得分:0 
编译能通过??!!
你的编译器还支持中文标点?!
 x2=p-q; 这后面是个中文的分号
2008-07-28 15:57
bearangel
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-7-15
收藏
得分:0 
这个是我在论坛发帖时输入的
在我的程序中是没有的
2008-07-28 16:01
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
你那个是一元二次方程吧。。。

#include <stdio.h>
#include <math.h>
int main ()
{
 double a,b,c,disc,x1,x2,p,q;
 scanf ("%lf,%lf,%lf",&a,&b,&c);
 disc=b*b-4*a*c;
 if (disc<0) printf ("方程无解%d");
    else   {                       //后面都属于else
            p=-b/(2*a);
            q=sqrt(disc)/(2*a);    //这里有问题
            x1=p+q;
            x2=p-q;   
            printf ("x1=%.3f,x2=%.3f",x1,x2);   
           }
return 0;
}

别的没细看。。

[[it] 本帖最后由 himpo 于 2008-7-28 16:09 编辑 [/it]]
2008-07-28 16:05
sxn0508
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2008-1-24
收藏
得分:0 
scanf的时候double型要用%lf
2008-07-28 16:06
xiaomengxia2008
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2008-7-23
收藏
得分:0 
#include <stdio.h>
#include <math.h>
main ()
{
     double a,b,c,disc,x1,x2,p,q;
     scanf ("%lf,%lf,%lf",&a,&b,&c);
     disc=b*b-4*a*c;
     if (disc<0) printf ("方程无实数解%d");
     else  p=-b/(2*a);
     q=(sqrt(disc))/(2*a);/*这里你的公式弄错了吧!*/
    /* printf("%f",q);*/
     x1=p+q;
     x2=p-q;   
     printf ("x1=%.3f,x2=%.3f",x1,x2);   
}
2008-07-28 16:09
深深
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-18
收藏
得分:0 
回复 4# himpo 的帖子
貌似还是有错.依然出不来啊
2008-07-28 17:16
学不懂也要学C
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-7-3
收藏
得分:0 
double a,b,c,disc,x1,x2,p,q;
     scanf ("%lf,%lf,%lf",&a,&b,&c);
此处类型要匹配,只要改过来就可以运行得到正确答案了。
2008-07-28 17:23
crabeam
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-6-17
收藏
得分:0 
#include "stdio.h"
#include"math.h"
void main()

{
   double a,b,c,disc,x1,x2,p,q;
   scanf("%lf %lf %lf",&a,&b,&c);
   disc=b*b-4*a*c;
   if(disc<0)
   printf("方程无解:\n");
   else
   {
   p=-b/(2*a);
   q=sqrt(disc/(2*a));
   x1=p+q;
   x2=p-q;
   printf("x1=%lf\nx2=%f\n",x1,x2);
   }

}
float
6~7 有效数字
double
15~16  有效数字
long double
18~19   有效数字

双精度用格式:%lf

长双精度(long double)的 格式 可以用以下方式
%lf   %le   %lg
2008-07-28 20:09
aaaaaaaaa1
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-3-23
收藏
得分:0 
忘记加getch();了吧
2011-03-23 20:53
快速回复:求二元一次方程程序问题
数据加载中...
 
   



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

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