当前位置: > 求方程a*x*x+b*x+c的根,用3个函数分别求当判别式大于0,小于0,等于0的根并输入结果.从主函数输入a,b,c...
题目
求方程a*x*x+b*x+c的根,用3个函数分别求当判别式大于0,小于0,等于0的根并输入结果.从主函数输入a,b,c
各位看看我的程序,结果只到了输出判别式disc的那步,然后不执行子函数,哪里错了...
#include
#include
int dengyu(int a,int b,int c)
{
double x1,x2,p,q,disc;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%f x2=%f ",x1,x2);
getchar();
return 0;
}
int dayu(int a,int b,int c)
{
double x1,x2,p,q,disc;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%f x2=%f ",x1,x2);
getchar();
return 0;
}
int xiaoyu(int a,int b,int c)
{
double p,q,disc;
p=-b/(2*a);
q=sqrt(-disc)/(2*a);
printf("x1=%f+%fi x2=%f-%fi ",p,q,p,q);
getchar();
return 0;
}
void main()
{
int a,b,c;
int disc;
printf("请按顺序输入二元一次方程的二次项系数a(不为0),一次项系数b,常数项c ");
scanf("%d%d%d",&a,&b,&c);
disc=b*b-4*a*c;
printf("disc=%d",disc);
if(disc=0)
 dengyu(a,b,c);
if(disc>0)
 dayu(a,b,

提问时间:2021-03-08

答案
if(disc=0)改为if(disc==0)
disc=0为赋值语句.
在所有的调用函数里出现了disc,但disc没有计算且没有初始化,需重新计算吧
另外建议printf("disc=%d",disc);改为printf("disc=%d ",disc);进行换行,显示效果会好点
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.