| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:求a*x*x+b*x+c=0方程的根,a,b,c又键盘输入,我这样写对不对,怎么执行后答 ...
只看楼主 加入收藏
V玩林
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-1
结帖率:66.67%
收藏
 问题点数:0 回复次数:11 
求a*x*x+b*x+c=0方程的根,a,b,c又键盘输入,我这样写对不对,怎么执行后答案错了且不变?
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,x1,x2;
    scanf("%lf%lf%lf",&a,&b,&c);
    x1=(-b+sqrt(b*b-4*a*c))/2*a;
    x2=(-b-sqrt(b*b-4*a*c))/2*a;
    printf("%lf,%lf",x1,x2);
    return 0;
}
求a*x*x+b*x+c=0方程的根,a,b,c又键盘输入,我这样写对不对,怎么执行后答案错了且不变?
搜索更多相关主题的帖子: include double return 键盘 
2015-12-02 23:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
a,b,c又键盘输入,我这样写对不对,怎么执行后答案错了且不变?
听不懂你在说什么?有错的话,你得告诉别人你输入什么,期待输出什么,实际输出什么?
我输入
1 3 2
输出
-1.000000,-2.000000
正确!
2015-12-03 08:16
七月的书签
Rank: 2
等 级:论坛游民
帖 子:8
专家分:27
注 册:2015-11-28
收藏
得分:0 
没有赋初值
2015-12-03 08:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <math.h>
#include <complex.h>

int main( void )
{
    double a,b,c;
    if( 3 != scanf("%lf%lf%lf",&a,&b,&c) )
        return 1;

    if( a == 0 )
    {
        if( b == 0 )
            printf( "---fuck---\n" );
        else
            printf( "%lg\n", -c/b );
    }
    else
    {
        double delta = b*b-4*a*c;

        if( delta > 0 )
        {
            double sd = sqrt( delta );
            double x1 = (-b+sd)/(2*a);
            double x2 = (-b-sd)/(2*a);
            printf( "%lg, %lg\n", x1, x2 );
        }
        else if( delta < 0 )
        {
            double _Complex sd = csqrt( delta );
            double _Complex x1 = (-b+sd)/(2*a);
            double _Complex x2 = (-b-sd)/(2*a);
            printf( "%lg%+lgi, %lg%+lgi\n", creal(x1), cimag(x1), creal(x2), cimag(x2) );
        }
        else // delta == 0
        {
            printf( "%lg\n", -b/(2*a) );
        }
    }

    return 0;
}

输入 0 0 3 输出 ---fuck---
输入 0 2 6 输出 -3
输入 2 3 1 输出 -0.5, -1
输入 5 4 1 输出 -0.4+0.2i, -0.4-0.2i
输入 4 4 1 输出 -0.5

2015-12-03 09:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
不使用复数也行

程序代码:
#include <stdio.h>
#include <math.h>

int main( void )
{
    double a,b,c;
    if( 3 != scanf("%lf%lf%lf",&a,&b,&c) )
        return 1;

    if( a == 0 )
    {
        if( b == 0 )
            printf( "---fuck---\n" );
        else
            printf( "%lg\n", -c/b );
    }
    else
    {
        double delta = b*b-4*a*c;

        if( delta > 0 )
        {
            double sd = sqrt( delta );
            printf( "%lg, %lg\n", (-b+sd)/(2*a), (-b-sd)/(2*a) );
        }
        else if( delta < 0 )
        {
            double sd = sqrt( -delta );
            printf( "%lg%+lgi, %lg%+lgi\n", -b/(2*a), sd/(2*a), -b/(2*a), -sd/(2*a) );
        }
        else // delta == 0
        {
            printf( "%lg\n", -b/(2*a) );
        }
    }

    return 0;
}

2015-12-03 09:48
V玩林
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-1
收藏
得分:0 
解决了。。。
2015-12-03 12:11
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2013
专家分:7306
注 册:2007-12-17
收藏
得分:0 
以下是引用V玩林在2015-12-3 12:11:11的发言:

解决了。。。

分享一下怎么解决的,也不枉费这么多人帮你的苦心

那一年,苍井空还是处女
2015-12-03 12:12
V玩林
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-12-1
收藏
得分:0 
就是我的软件不行,2楼做法跟我一样但我的答案错了,而且这不是 第一次了,所以判断我的软件应该有问题
2015-12-03 12:17
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2013
专家分:7306
注 册:2007-12-17
收藏
得分:0 
以下是引用V玩林在2015-12-3 12:17:10的发言:

就是我的软件不行,2楼做法跟我一样但我的答案错了,而且这不是 第一次了,所以判断我的软件应该有问题
最后怎么解决的?换软件吗?

那一年,苍井空还是处女
2015-12-03 12:18
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
以下是引用V玩林在2015-12-3 12:17:10的发言:

就是我的软件不行,2楼做法跟我一样但我的答案错了,而且这不是 第一次了,所以判断我的软件应该有问题

怎么可能呐,起码你的公式就不对
x1=(-b+sqrt(b*b-4*a*c))/2*a;
应该是
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
2015-12-03 12:32
快速回复:求a*x*x+b*x+c=0方程的根,a,b,c又键盘输入,我这样写对不对,怎么执行 ...
数据加载中...
 
   



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

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