方程根的问题(纠错)!
#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
本人无法找出错误之处,希望大家帮下忙!
----------------解决方案--------------------------------------------------------
#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;
}
----------------解决方案--------------------------------------------------------