设b^2-4ac>0
int main() {
float a,b,c,x1,x2;
printf("请输入方程式a,b,c:");
scanf_s("%f,%f,%f", &a,&b,&c);
x1 = (-b + sqrt(b *b - 4 * a*c)) / (2 * a);
x2 = (-b -sqrt(b *b - 4 * a*c)) / (2 * a);
printf("方程的根x1=%f,x2=%f\n",x1,x2);
return 0;
}
不设b^2-4ac>0
int main() {
float a, b, c, x1, x2,d;
printf("请输入方程式a,b,c:");
scanf_s("%f,%f,%f", &a, &b, &c);
d = b *b - 4 * a*c;
if (d >= 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
printf("方程的根x1=%f,x2=%f\n", x1, x2);
}
else
{
printf("此方程无实根\n");
}
return 0;
}
//函数调用
#include<stdio.h>
#include<math.h>
float x1, x2;
int main() {
void b1(int z, int a, int b);
void b2(int z, int a, int b);
void b3(int z, int a, int b);
float a, b, c, z;
printf("请输入a,b,c三个参数:");
scanf_s("%f", &a);
scanf_s("%f", &b);
scanf_s("%f", &c);
z = b*b - 4 * a*c;
if (z > 0) {
b1(z, a, b);
printf("方程根为%f,%f\n", x1, x2);
}
else if (z == 0) { b2(z, a, b); printf("方程根为%f,%f\n", x1, x2); }
else
{
b3(z, a, b);
}
}
void b1(int z, int a, int b)//b^2-4ac>0
{
x1 = (-b + sqrt(z)) / 2 * a;
x2 = (-b -sqrt(z)) / 2 * a;
}
void b2(int z, int a, int b)//b^2-4ac=0
{
x1 =x2= (-b + sqrt(z)) / 2 * a;
}
void b3(int z, int a, int b)//b^2-4ac=0
{
printf("无实根!");
}