解题思路:
注意事项:
参考代码:
#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 人评分
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:556 |
字符串对比 (C语言代码)浏览:1458 |
不会做的浏览:947 |
printf基础练习2 (C语言代码)浏览:822 |
求圆的面积 (C语言代码)浏览:1747 |
幸运数 (C++代码)浏览:1299 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:512 |
1054题解浏览:508 |
简单的a+b (C语言代码)浏览:1018 |
C二级辅导-温度转换 (C语言代码)浏览:799 |