求 ax^2+bx+c=0 方程的解
这个用C语言,4种可能,怎么写?谁能给我写个完整无错带注释的C程序?
[解决办法]
#include <stdio.h>#include <math.h>int main(){ double a,b,c,x1,x2,dlta; scanf("%lf,%lf,%lf",&a,&b,&c); if (a==0) {//bx+c=0 if(b==0&&c==0) { printf("infinite answers\n"); } else if (b==0&&c!=0) { printf("No answer\n"); } else { x1 = -c/b; x2 = x1; } } else { dlta = b*b-4*a*c; if(dlta<0) { printf("No answer\n"); } else if (dlta==0) { printf("Two same answer\n"); x1 = -b/2*a; x2=x1; } else { printf("Two different answers\n"); x1 = (-b+sqrt(dlta))/2*a; x2 = (-b-sqrt(dlta))/2*a; } } system("PAUSE"); return 0;}
[解决办法]
#include<math.h>
void main()
{ float a,b,c,disc,x1,x2;
printf("please input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a!=0){
disc=b*b-4*a*c;
if(disc<0)
printf("无实根!");
else{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
}
else{
x1=x2=-c/b;
printf("x1=x2=%f",x1);
}
}
[解决办法]
加个头文件 #include <stdlib.h> 对于system("pause")
[解决办法]
#include<stdio.h>
#include<math.h>
void main()
{ float a,b,c,disc,x1,x2;
printf("please input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a!=0){
disc=b*b-4*a*c;
if(disc<0)
printf("wu jie ");
else{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
}
else{
x1=x2=-c/b;
printf("x1=x2=%f",x1);
}
}