注册 登录
编程论坛 C++教室

关于二元一次方程

a99875984 发布于 2012-04-25 19:13, 533 次点击
程序代码:
#include <math.h>
#include <stdio.h>
#include <iostream.h>
void main()
{
    double a,b,c,d,x1,x2;
    cin>>a>>b>>c;
    d=b*b-4*a*c;
    {
        if(d>=0)
    {
        x1=(-b+sqrt(d))/(2*a);
        x2=(-b-sqrt(d))/(2*a);
        printf("%.2d\n%.2d\n",x1,x2);
    }
        else
        printf("无解\n");
    }

}
为什么得到的结果是x1=00
x2=-1074790400
请问这是怎么回事啊?
2 回复
#2
wtujoxk2012-04-25 21:57
程序代码:
#include <math.h>
#include <stdio.h>
#include <iostream.h>
void main()
{
    double a,b,c,d,x1,x2;  
    cin>>a>>b>>c;
    d=b*b-4*a*c;
    {
        if(d>=0)
    {
        x1=(-b+sqrt(d))/(2*a);
        x2=(-b-sqrt(d))/(2*a);
        printf("%.2f\n%.2f\n",x1,x2);   //前面定义的双精度型,这里为何用整型
//      cout<<"x1="<<x1<<"\t"<<"x2="<<x2<<endl;
    }
        else
        printf("无解\n");
//      cout<<"无解"<<endl;
    }

}
C和C++混合用,不是一种良好的习惯

[ 本帖最后由 wtujoxk 于 2012-4-25 22:24 编辑 ]
#3
a998759842012-04-28 08:12
回复 2楼 wtujoxk
请问,为什么C和C++混用是不好的习惯啊,我用C只是用他的输出,我觉得他的输出方式比C++的简单。
1