Shirlies
宁静专注认真的程序媛~

又有好久没有写博客了,主要是没怎么做题,汗……有点小忙吧~~~

这一题坑了我,我搞不懂编译器咋这么差,这等错误都找不出来,我勒个去啊~~~害惨我了……~~~~(>_<)~~~~

View Code
 1 #include <cstdio>
2 #include <cmath>
3
4 const double er = 1e-6;
5 double p,q,r,s,t,u;
6
7 inline double get_value(double x)
8 {
9 return p*exp(-x)+ q*sin(x) + r*cos(x) + s*tan(x) + t*x*x + u;
10 }
11 int main()
12 {
13 while(scanf("%lf%lf%lf%lf%lf%lf",&p,&q,&r,&s,&t,&u) == 6)
14 {
15 double start = 0,end = 1;
16 double x = (start + end)/2;
17 if(get_value(1.0) > 0 || get_value(0.0) < 0)
18 {
19 printf("No solution\n");
20 continue;
21 }
22 double re = get_value(x);
23 while( fabs(re) > er)
24 {
25 if(get_value(x)<= 0)
26 {
27 end = x;
28 }
29 else
30 {
31 start = x;
32 }
33 x =(end + start )/2;
34 re = get_value(x);
35 }
36 printf("%.4lf\n",x);
37 }
38
39 return 0;
40 }

在get_value函数里面p*exp(-x)这个后面多了一个逗号,编译器竟然没有发现,呜呜,没想到会出现这等无语的错……

posted on 2012-03-21 22:01  Shirlies  阅读(294)  评论(0编辑  收藏  举报