要求:分别输入二次项系数,一次项系数,常数项,输出解的结果
思路:1.首先判断是否有解,如果有解判断是一个解还是两个解
2.分别编写一个解时的函数和两个解时的函数
数学计算的头文件math.h --- 这里我用的是pow次方,math.h中包含开平方的函数sqrt
#include#include float one_root(float a, float b) { float re = 0; re = -b / 2 * a; return re; } void tow_root(float a, float b, float db) { float x1 = 0, x2 = 0; float v1 = 0, v2 = 0; v1 = -b + pow(db, 1.0 / 2); v2 = -b - pow(db, 1.0 / 2); x1 = v1 / 2 * a; x2 = v2 / 2 * a; printf("x1=%.2f x2=%.2fn", x1, x2); } int main() { float a, b, c;//分别对应二次项系数,一次项系数,常数 float db = 0; // b*b - 4*a*c scanf("%f %f %f", &a, &b, &c); db = b * b - 4 * a * c; if (db < 0) //判断是否有解 printf("无解n"); else if (db == 0) printf("x=%.2fn",one_root(a, b)); // 两个相同的解 else tow_root(a, b, db); // 两个不同的解 return 0; }



