解题思路:
注意事项:
参考代码:
#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 人评分
简单的a+b (C语言代码)浏览:564 |
printf基础练习2 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:631 |
三角形 (C++代码)记忆化搜索浏览:1318 |
回文数字 (C语言代码)浏览:2539 |
矩阵乘方 (C语言代码)浏览:1079 |
1071题解浏览:585 |
Pascal三角 (C语言代码)浏览:707 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:416 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:692 |