
正文
c语言编程求一元二次函数 c语言用函数求一元二次方程
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言编写一元2次方程。
程序想法没错,但设计的时候有点失误。
void
main()
{
float
a=0,b=0,c=0,d=0,x1=0,x2=0,e=0;/*定义变量*/
printf("axe2+bx+c=0,(a,b,c):\n");/*提示输入3个数*/
scanf("%f,%f,%f",a,b,c);/*输入的时候用float型
*/
e=sqrt(d);/*根号d
*/
x1=(-b+e)/(2*a);/*计算方程,公式有点不点,逻辑*/
x2=(-b-e)/(2*a);/*计算方程*/
printf("\n
positive:\n
x1=%f,\n
negative:\nx2=%f",x1,x2);/*输出x1
x2,输出的时候也要用float型*/
}
else
printf("equation");/*方程无解*/
getch();
}
//经修改,可以正常运行,
还有建议下,你就在定义变量的时候不要一大串一起定义类型,
有时候变量的类型是不无法隐型转换的,就会出错。
就像程序里面的,开根号又不一定都开出个整数,大多都是带小数的,就应该定义成float型,
最后的解也会直接化成带小数的,要是你用long(长整型,也是整型的一种),
那小数点后面就将被程序自动省略,那问题可就大了,呵呵,。
还在做为printf输出的时候,要给点提示,不然人家也不知道,这a,b,c是干嘛用的。
相关问答
Q1: 怎样用C语言编一个解一元二次方程的程序(可以看步骤)!
#include stdio.h
#include math.h
int main(void)
{
int a, b, c; //定义一元二次方程c语言编程求一元二次函数的三个数值;
printf("请依次输入一元二次方程的三个参数a b cc语言编程求一元二次函数,中间以空格隔开\n");
scanf("%d %d %d", a, b, c); //依次输入一元二次方程的三个参数
double delta = b*b - 4*a*c; //定义delta的值为b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta0) //delta大于0时c语言编程求一元二次函数,方程有两个解
{
printf("一元二次方程有两个解\n");
printf("一元二次方程的第一个解c语言编程求一元二次函数,x1 = %f\n",x1);
printf("一元二次方程的第二个解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有两个相同的解
{
printf("一元二次方程有两个相同的解\n");
printf("一元二次方程的解为x1 = x2 =%f\n",x1);
}
else //delta小于0时,方程没有解
{
printf("一元二次方程没有解\n");
}
return 0;
}
Q2: c语言求解一元二次方程
1、本题要先判断ac语言编程求一元二次函数,如果a=0c语言编程求一元二次函数,则不是一元二次方程。
2、首先要判断d是否小于0c语言编程求一元二次函数,则只能有虚数解,d小于0时,就不能去开平方,否则会出错。
3、按照以上思路重新修改你的程序。
Q3: 编写一个C语言函数,使其能求出一元二次方程的解。
#include math.h#include stdio.h void s(int a,int b,int c){ int delta=b*b-4*a*c; if(delta0) printf("此方程无解!\n"); else { printf("X1=%f\n",(-b+sqrt((double)delta))/(2*a)); printf("X2=%f\n",(-b-sqrt((double)delta))/(2*a)); }}
Q4: 用C语言求解一元二次方程的解怎么写
您好!很高兴为您解答。
原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~
#include stdio.h
#include math.h
void main ()
{
double x1;//x1,x2分别为方程的2个解
double x2;
double melt;
int a;
int b;//初始化ABC的三个变量
int c;
printf("请输入a b c三个数的值:");
scanf("%d %d %d",a, b ,c);//输入ABC的时候需要空格
melt = b*b - 4*a*c;//初始化melt的值
if (melt0)
{ x1=(-b + sqrt(melt))/(2*a);
x2=(-b - sqrt(melt))/(2*a);
printf ("2个解,x1 = %lf,x2 = %lf\n",x1,x2);
}
else if (melt==0)
{
x1 = (-b )/(2*a);
x2 = x1;
printf("1个解,x1 = %lf,x2 = lf%\n",x1,x2);
}
else
{
printf("无解\n");
}
}
望采纳~如您还有不解,欢迎追问~
Q5: C语言编程,求一元二次方程 ax2+bx+c=0 的解,谢谢
#includeiostream
#includecmath
using namespace std;
int main()
{
for (int i=0;i2;i++)
{
double a,b,c,delta,p,q;
cinabc;
delta=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(fabs(delta))/(2*a);
if (delta=0)
coutp+qendlp-qendl;
else
{
coutp"+j"q;
coutendlp"-j"qendl;
}
}
return 0;
}
扩展资料c语言编程求一元二次函数:
return表示从被调函数返回到主调函数继续执行c语言编程求一元二次函数,返回时可附带一个返回值c语言编程求一元二次函数,由return后面的参数指定。return通常是必要的c语言编程求一元二次函数,因为函数调用的时候计算结果通常是通过返回值带出的。
如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
如果函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。
c语言编程求一元二次函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言用函数求一元二次方程、c语言编程求一元二次函数的信息别忘了在本站进行查找喔。







