| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 846 人关注过本帖
标题:该一元二次方程为何结果运行不出,发生错误,求指教!
只看楼主 加入收藏
墨玉紫冠
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-8-4
结帖率:75%
收藏
 问题点数:0 回复次数:18 
该一元二次方程为何结果运行不出,发生错误,求指教!
# include <stdio.h>
# include <math.h>

int main(void)

{
    double a, b, c;
    double delta;
    double x1, x2;

    printf("请输入一元二次方程三个系数:\n");
   
    printf("a = ");
    scanf("%lf", &a);

    printf("b = ");
    scanf("%lf", &b);

    printf("c = ");
    scanf("%lf = &c");

    delta = b*b - 4*a*c;

    if (delta > 0)
    {
       x1 = (-b + sqrt(delta)) / (2*a);
       x2 = (-b - sqrt(delta)) / (2*a);
       printf("有两个解, x1 = %lf, x2 = %lf\n", x1, x2);
    }
    else if (0 == delta)
    {
       x1 = x2 = (-b) / (2*a);
       printf("唯一实数解, x1 = x2 = %lf\n", x1, x2);
    }
    else
    {
       printf("无解\n");
    }

    return 0;
}
搜索更多相关主题的帖子: include double 
2014-08-06 16:35
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
0 == delta的问题,delta是浮点型数据,判断是否等于0不能直接用==判断,请搜索相关的关键字

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 16:41
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
我以前做的图片,可以参考以下:
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-08-06 16:58
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 3 楼 宇宙规律
代码有错误,还参考啥

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 17:23
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
程序如下:
#include<stdio.h>
#include<math.h>
void main()
{
    float a,b,c,x1,x2,d;
    printf("请输入系数a,b,c:\n");
    scanf("%f%f%f",&a,&b,&c);
    if(a==0)
    {
        if(b==0)
            printf("方程没有解。\n");
        else
        {
            x1=-c/d;
            printf("方程只有一个解%f.\n",x1);
        }
    }
    else
    {
        d=b*b-4*a*c;
        if(d>=0)
        {
            if(d=0)
            {
                x1=-b/(2*a);
                printf("方程有两个相同的解%f.\n",x1);
            }
            else
            {
                x1=(-b+sqrt(d))/(2*a);
                x2=(-b-sqrt(d))/(2*a);
                printf("该方程有两个实根:%2f,%2f,\n",x1,x2);
            }
        }
        else
        {
            printf("无解!\n");

        }
    }
}

请输入系数a,b,c:
2 -7 6
该方程有两个实根:1.750000,1.750000,
Press any key to continue
2014-08-06 17:25
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 5 楼 宇宙规律
你这个为什么不打印:方程有两个相同的解?

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 17:29
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
你可以直接复制到C++6.0软件里,是正确的!

输入数据:2 -7 6

计算结果是:
该方程有两个实根:1.750000,1.750000,
2014-08-06 17:30
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 7 楼 宇宙规律
你两个实根都是1.750000,1.750000,按照你的代码,为什么不是打印有两个相同的根?

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 17:32
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用embed_xuel在2014-8-6 17:32:51的发言:

你两个实根都是1.750000,1.750000,按照你的代码,为什么不是打印有两个相同的根?


看来我这个程序也有错误!
2014-08-06 17:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你这个程序当然有错误了:if(d=0)

授人以渔,不授人以鱼。
2014-08-06 17:47
快速回复:该一元二次方程为何结果运行不出,发生错误,求指教!
数据加载中...
 
   



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

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