二次函数的解法C语言的代码 在下 哪里出错了 谢谢大神了

#include<stdio.h>#include<math.h>voidmain(){floata,b,c,k;voidyigen(floata,floatb,floa... #include <stdio.h>
#include <math.h>
void main(){
float a,b,c,k;
void yigen(float a,float b,float k);
void tonggen(float a,float b,float k);
void wugen();
printf("请输入adc三个数");
scanf("%3f%3f%3f",&a,&b,&c);
k=b*b-(4*a*c);
if(k==0)
tonggen(a,b,k);
else if(k>0)
yigen(a,b,k);
else
wugen();
}
void yigen(float a,float b,float k)
float a,b,k;
{
float x1,x2;
x1=((-b)+sqrt(k))/(2*a);
x2=((-b)-sqrt(k))/(2*a);
printf("二次方程的两个异根为x1=%3f,x2=%3f",x1,x2);
}
void tonggen(float a,float b,float k)
float a,b,k;
{
float x;
x=(-b)/(2+a);
printf("二次函数为同根为x=%3f",x);
}
void wugen(){
printf("该二次函数无根");}
展开
 我来答
kaixingui2012
推荐于2016-07-12 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6478万
展开全部
一:scanf("%3f%3f%3f",&a,&b,&c); 这里要求输入数据必须为三位数,最好改成:

scanf("%f%f%f",&a,&b,&c); 去掉限定

二:
void tonggen(float a,float b,float k)
//float a,b,k; 如果这样定义,则上一行的函数定义应该写成:void tonggen( a, b, k) 二者不能同存
{
float x;
x=(-b)/(2*a); //这里应该为2*a
printf("二次函数为同根为x=%3f",x);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joychen_
2015-08-27 · TA获得超过1747个赞
知道大有可为答主
回答量:1617
采纳率:100%
帮助的人:1837万
展开全部

后面的代码有问题:

	void yigen(float a,float b,float k)
//float a,b,k;
{
float x1,x2;
x1=((-b)+sqrt(k))/(2*a);
x2=((-b)-sqrt(k))/(2*a);
printf("二次方程的两个异根为x1=%3f,x2=%3f",x1,x2);
}
void tonggen(float a,float b,float k)
//float a,b,k;
{
float x;
//x=(-b)/(2+a);
x=(-b)/(2*a);
printf("二次函数为同根为x=%3f",x);
}
void wugen()
{
printf("该二次函数无根");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式