| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 847 人关注过本帖
标题:该一元二次方程为何结果运行不出,发生错误,求指教!
只看楼主 加入收藏
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用TonyDeng在2014-8-6 17:47:05的发言:

你这个程序当然有错误了:if(d=0)


大师高明!现在程序正确了!
#include<stdio.h>
#include<math.h>
void main()
{
    const int PI=3.1415926;
    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");

        }
    }
}
2014-08-06 17:55
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
请输入系数a,b,c:
2 -7 6
该方程有两个实根: 2.000000,1.500000,
Press any key to continue

请输入系数a,b,c:
6 7 -3
该方程有两个实根: 0.333333,-1.500000,
Press any key to continue

请输入系数a,b,c:
3 -7 4
该方程有两个实根: 1.333333,1.000000,
Press any key to continue
2014-08-06 17:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你为什么不用浮点数试?

授人以渔,不授人以鱼。
2014-08-06 18:06
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用TonyDeng在2014-8-6 18:06:02的发言:

你为什么不用浮点数试?


我水平有限,很多都忘了!
2014-08-06 18:10
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
5楼是:
请输入系数a,b,c:
2 -7 6
该方程有两个实根:1.750000,1.750000

12楼是:
请输入系数a,b,c:
2 -7 6
该方程有两个实根: 2.000000,1.500000

你之前是怎么确认你的代码是正确的呢

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 18:38
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以前仅输入了一次数据,就以为程序正确了!水平有限啊!
2014-08-06 19:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
写程序要注意测试!什么叫测试?就是用大量的不同数据来运行程序,看结果是不是都对,只要有一个不对,程序都是有错误的。写程序,首先要自己攻击自己的程序,看它是否挺得住,然后才能交给用户,而用户的实践才是最终测试,一定比你自己的测试严格得多,如果连自己都过不了,肯定也过不了用户那一关。实际上,在这里我没见有几个人是从用户的角度来检验自己的程序的,这种习惯不培养好,出来混很成问题的。

[ 本帖最后由 TonyDeng 于 2014-8-6 19:47 编辑 ]

授人以渔,不授人以鱼。
2014-08-06 19:46
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:0 
以下是引用TonyDeng在2014-8-6 19:46:35的发言:

写程序要注意测试!什么叫测试?就是用大量的不同数据来运行程序,看结果是不是都对,只要有一个不对,程序都是有错误的。写程序,首先要自己攻击自己的程序,看它是否挺得住,然后才能交给用户,而用户的实践才是最终测试,一定比你自己的测试严格得多,如果连自己都过不了,肯定也过不了用户那一关。实际上,在这里我没见有几个人是从用户的角度来检验自己的程序的,这种习惯不培养好,出来混很成问题的。

2014-08-06 19:49
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 16 楼 宇宙规律
my god! 只测了一次?最起码你的测试要把你代码里的if和else都覆盖到呀

总有那身价贱的人给作业贴回复完整的代码
2014-08-06 20:15
快速回复:该一元二次方程为何结果运行不出,发生错误,求指教!
数据加载中...
 
   



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

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