C语言写二次函数

C语言写二次函数,第1张

首先你已经很清楚的说明了你这个程序是用C语言写二次函数的,而当a=0时,就不是二次函数了,应该按照一次函数来进行计算,否则 一个数除以0就没有意义了.~

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

float a,b,c

float x1,x2,m

printf("input number a=:")

scanf("%f",&a)

printf("input number b=:")

scanf("%f",&b)

printf("input number c=:")

scanf("%f",&c)

if(a==0)

printf("一根:%f\n",c*(-1)/b)

else if(a==0&&b==0)

printf("无意义!")

else

{

m=b*b-4*a*c

if(m>0)

{

printf("两根\n")

printf("x1=%f\n",(-b+sqrt(m))/(2*a))

printf("x2=%f\n",(-b-sqrt(m))/(2*a))

}

else if(m==0)

printf("x1=x2=%f\n",x1)

}

else

printf("无实根\n")

}

return 0

}

复制以下代码到记事本,另存为“二次函数.vbs”

------------------------------开始----------------------------------------

Dim a,b,c,ans,x1,x2

msgbox "二次函数的形式为ax²+bx+c",0+4096+48,"注意:"

InputBox "请输入a的值"

InputBox "请输入b的值"

InputBox "请输入c的值"

ans = b ^ 2 - 4 * a * c

if ans <0 then

msgbox "该方程无实数根",0+4096+16,""

else

x1= (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)

x2= (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a)

msgbox ("二次函数的解是:" &x1 &"和" &x2)

end if

---------------------------结束--------------------------------------------

求采纳

我已经按你的意思修改了,也运行出来了,希望对你有帮助,代码附带在下面:

#include<stdio.h>

#include<math.h>

float t,x1,x2

void main()

{

void situ1(float a,float b,float c)

void situ2(float a,float b,float c)

void situ3()

float x,a,b,c

scanf("%f%f%f",&a,&b,&c)

if (a==0)

{

x=-c/b

printf("x=%.2f\n",x)

}

else

{

t=b*b-4*a*c

if (t>0)

situ1(a,b,c)

else if(t==0)

situ2(a,b,c)

else

situ3()

}

}

void situ1(float a,float b,float c)

{

x1=(-b+sqrt(t))/(2*a)

x2=(-b-sqrt(t))/(2*a)

printf("x1=%.2f\tx2=%.2f\n",x1,x2)

}

void situ2(float a,float b,float c)

{

x1=x2=(-b+sqrt(t))/(2*a)

printf("x1=x2=%.2f\n",x1)

}

void situ3()

{

printf("没有实根\n")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10947991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存