#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")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)