1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int n; long long int a,b,c,d; double s,x1,x2; scanf("%d",&n); while(n--){ scanf("%lld %lld %lld",&a,&b,&c); if(a){ d=b*b-4*a*c; if(d<0)printf("-1\n"); else if(d==0)printf("x=%.2lf\n",(-b)/(2.0*a)); else printf("x1=%.2lf,x2=%.2lf\n",(-b-sqrt(1.0*d))/(2.0*a),(-b+sqrt(1.0*d))/(2.0*a));} else{ if(b)printf("x=%.2lf\n",(-c)/(1.0*b)); } } }
C++ :
#include<iostream> #include<cmath> #include <cstdio> using namespace std; class Root { int a,b,c; public: Root(int aa,int bb,int cc):a(aa),b(bb),c(cc) {} Root() {} void result(); }; void Root::result() { if(a==0) printf("x=%.2f\n", -c*1.0/b); else { double delta=b*b-4*a*c; if (0 == delta) printf("x=%.2f\n", -b/(2.0*a)); else if (delta < 0) puts("-1"); else { delta = sqrt(delta); printf("x1=%.2f,x2=%.2f\n", (-b-delta)/(2.0*a), (-b+delta)/(2.0*a)); } } } int main() { //freopen("test.in", "r", stdin); //freopen("test.out", "w", stdout); int aa,bb,cc,t; cin >> t; while (t--) { cin>>aa>>bb>>cc; Root x(aa,bb,cc); x.result(); } return 0; }
- 1
信息
- ID
- 2099
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者