当前位置: 代码迷 >> C语言 >> 方程根的问题(纠错)!
  详细解决方案

方程根的问题(纠错)!

热度:313   发布时间:2008-04-07 17:38:14.0
方程根的问题(纠错)!
#include <stdio.h>
float a,b,c,disc,x1,x2,p,q;
g(){
       p=-b/(2*a);
       q=sqrt(disc)/(2*a);
       x1=p+q;
       x2=p-q;
       printf("%f,%f\n",x1,x2);
    }
f(){  printf("%f,%f\n",x1,x2);
    }
e(){  q=sqrt(fabs(disc))/(2*a);
       printf("%f-%fi,%f+%fi\n",p,q,p,q);
    }
main(){
        disc=b*b-4*a*c;
        scanf("%f %f %f",a,b,c);
        if(disc>0) g();
        else if(disc==0) f();
           else e();
       }
运行之后,无论a,b,c的值如何变化
输出结果始终为:0.000000,0.000000
                NULL pointer assignment

本人无法找出错误之处,希望大家帮下忙!
搜索更多相关的解决方案: disc  方程  纠错  printf  

----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
float max(int a,int b,int c)
{    if((b*b-4*a*c)>0 )
       return (-b+sqrt(b*b-4*a*c))/(a*2);
}


float max1(int a,int b,int c)
{    if((b*b-4*a*c)>0)
        return (-b-(sqrt(b*b-4*a*c)))/(a*2);
}



void main()
{   int a,b,c;
    printf("ax*x+bx+c=0");
    printf("请输入a,b,c的值");
    scanf("%d%d%d",&a,&b,&c);   
    printf("ax*x+bx+c=0的跟是:\n%.2f\n%.2f\n",max(a,b,c),max1(a,b,c));

}
----------------解决方案--------------------------------------------------------
回LZ:
好神奇的写法,你写的函数全部都没有类型。。
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
double max(int a,int b,int c)
{  double d,e,s;
  d=b*b-4*a*c;s=sqrt(d);
  e=(-b+s)/(2*a);
  
  return e;
}
double max1(int a,int b,int c)
{  double d,f,s;
  d=b*b-4*a*c;
  s=sqrt(d);
  f=(-b-s)/(2*a);
  return f;
}
double cry(int a,int b,int c)
{double g;
int h;
g=b*b-4*a*c;
if(g<0)
h=1;
return h;
}
void main()
{  float x1,x2,x3;int a,b,c;
printf("ax*x+bx+c=0");
printf("请输入a,b,c的值");
    scanf("%d%d%d",&a,&b,&c);
    x1=max(a,b,c);
    x2=max1(a,b,c);
    x3=cry(a,b,c);
if(x3>0)
{
printf("输入错误方程没有跟");

}
else
printf("ax*x+bx+c=0的根是%.2f\t%.2f",x1,x2);

}
----------------解决方案--------------------------------------------------------
hui  3# 没参数 没返回制 的用法 直接引用 但是这样的写法 感觉还是在调用图形什么的 用好点
----------------解决方案--------------------------------------------------------
你们不能帮我找一下错在哪儿吗?
----------------解决方案--------------------------------------------------------
我才刚学C呢
----------------解决方案--------------------------------------------------------
为什么不能这样写呢,这样写代码又少,有美观
----------------解决方案--------------------------------------------------------
NULL pointer assignment
这个什么意思?
----------------解决方案--------------------------------------------------------
晕,美观个屁!

int main(void)   // 这样比较美观
{
    return 0;
}
----------------解决方案--------------------------------------------------------
  相关解决方案