| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1608 人关注过本帖
标题:我的测试数据是对的,可是系统不让过,能帮我看看吗?谢谢大家
只看楼主 加入收藏
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:4 
我的测试数据是对的,可是系统不让过,能帮我看看吗?谢谢大家
题目:
求一元二次方程ax2+bx+c=0的解。a,b,c为任意实数。

输入

输入数据有一行,包括a b c的值

输出


按以下格式输出方程的根x1和x2。x1和x2之间有一个空格。



x1 x2



(1)如果x1和x2为实根,则以x1>=x2输出。



(2)如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>0。



其中x1, x2, m,n均保留2位小数。


样例输入


1 2 3

样例输出


-1.00+1.41i -1.00-1.41i

我的代码:(我的测试数据是对的,可是系统不让过)
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c;
    double x1,x2;
    double gt;
    double m,n;
    scanf("%lf %lf %lf",&a,&b,&c);
    gt=b*b-4*a*c;
    if(gt>=0)
    {
        x1=(-b+sqrt(gt))/2;
        x2=(-b-sqrt(gt))/2;
        printf("%.2lf>=%.2lf\12",x1,x2);
    }
    else
    {
        m=-b/(2*a);
        n=sqrt(fabs(gt))/(2*a);
        printf("%.2lf+%.2lfi %.2lf-%.2lfi\12",m,n,m,n);
    }
   
   
   
    return 0;
}

搜索更多相关主题的帖子: 测试 数据 系统 输出 double 
2018-12-19 20:48
莱茵瓶
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:32
专家分:103
注 册:2018-10-30
收藏
得分:0 
x1=(-b+sqrt(gt))/2; 这里是/2a
不要先判断a是否等于0 吗...

[此贴子已经被作者于2018-12-20 09:13编辑过]

2018-12-20 08:50
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 2楼 莱茵瓶
不是二次函数吗,不会等于0吧

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-20 09:51
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
顶贴来了

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-12-20 20:24
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
收藏
得分:20 
#include <stdio.h>
#include <math.h>

int main(void)
{
    int a, b, c;
    double m, n;
    double x1, x2, x3 , x4;
    double delat;//判别式

    printf("请输入a,b,c的值:\n");
    scanf("%d %d %d", &a, &b, &c);

    delat = b*b - 4*a*c;
    x1 = (-b+sqrt(delat)) / (2*a);
    x2 = (-b-sqrt(delat)) / (2*a);
    m = (-b) / (2*a);
    n = (sqrt(abs(delat))) / (2*a);

    if (delat > 0) {
        printf("方程有两个根,分别是x1 = %lf和x2 = %lf", x1, x2);
    } else if (0 == delat) {
        printf("方程有唯一解,它是x1 = x2 = %lf", x1);
    } else {
        printf("方程根有两个共轭复根,分别是x3 = %.2lf + %.2lf i, x4 = %.2lf - %.2lf i", m, n, m, n);
    }
    return 0;
}

请输入a,b,c的值:
1 2 3
方程根有两个共轭复根,分别是x3 = -1.00 + 1.41 i, x4 = -1.00 - 1.41 i

借用一下侯捷的话:勿在浮沙筑高台。
2018-12-20 21:30
快速回复:我的测试数据是对的,可是系统不让过,能帮我看看吗?谢谢大家
数据加载中...
 
   



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

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