解题思路:
注意事项:
参考代码:
#include<stdint.h>
#include<stdio.h>
#include<math.h>
//这里主要是考察二分法求方程的根
#define EPS 1e-6f //定义最后求解的精度
double Functions(int T, double buf[], double x); //X是因子
int main(void) {
double data[10] = {0};
int len = 0;
do {
scanf("%d", &len);
if (len == 0) {
break;
}
for (int i = 0; i <= len; i++) {
scanf("%lf", &data[i]);
}
double start = -1.0 + 1e-5, end = 1e6f, middle = 0.0f, res = 0.0f;
while (fabs(start - end) > EPS) {
middle = (start + end) / 2;
res = Functions(len, data, middle);
if (fabs(res) < EPS) {
break;
} else if ((Functions(len, data, start)*res) < 0) {
end = middle;
} else if ((Functions(len, data, end)*res) < 0) {
start = middle;
} else if (res == 0) {
break;
} else {
}
}
printf("%0.2lf", middle);
} while (len != 0);
return 0;
}
double Functions(int T, double buf[], double x) {
double sum = 0;
for (int i = 0; i < T + 1; i++) {
sum += buf[i] / pow((1 + x), i);
}
return sum;
}
0.0分
0 人评分
K-进制数 (C++代码)浏览:891 |
川哥的吩咐 (C语言代码)浏览:900 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1318 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:789 |
A+B for Input-Output Practice (C++代码)浏览:615 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:905 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1380 |
罗列完美数 (C语言代码)浏览:499 |
核桃的数量 (C语言代码)浏览:882 |
【计算直线的交点数】 (C语言代码)浏览:940 |