1 solutions
-
0
C :
#include<stdio.h> #include<math.h> int main() { float a,b,c,disc,x1,x2; a=1;b=2,c=-6; disc=b*b-4*a*c; if(disc>=0) { x1=((-b)+sqrt(disc))/(2.0*a); x2=((-b)-sqrt(disc))/(2.0*a); printf("%.4f\n",x2); printf("%.4f\n",x1); } else printf("无实根\n"); }C++ :
/* ================== Ex 3-18, p59 ================== */ #include <stdio.h> #include <math.h> void root (double a, double b, double c) { double tmp, d = b*b + 4*a*c; if (a==0.) { if(b==0.) printf("illegal inputs!\n"); else printf("%.4f\n", -c/b); } else if (d > 0) { tmp = sqrt(d); printf("%.4f, %.4f\n", (-b - tmp)/2./a, (-b + tmp)/2./a); } else if (d == 0) printf("%.4f\n", -b/2./a); else printf("no real root\n"); } int main() { double a,b,c; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) { if((scanf("%lf %lf %lf", &a,&b,&c)!=3)) { printf("illegal inputs!\n"); fflush(stdin); } else root(a, b, c); } return 0; }
- 1
Information
- ID
- 18624
- Time
- 1000ms
- Memory
- 56MiB
- Difficulty
- (None)
- Tags
- (None)
- # Submissions
- 0
- Accepted
- 0
- Uploaded By