计算方法之迭代法求方程根

/************************
* 用迭代法求方程
* f(x)=e^(-x)-x+1=0
* 的根
*************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>

float fa(float);
float dd(float);
int main() {
	float x0;
	printf("input data x0 = ");
	scanf("%f", &x0);
	printf("The root of f(x) = 0  is x = \t%f\n", dd(x0));
	return 0;
}
float dd(float a) {
	float x, x0, e;
	int i;
	printf("input eps = ");
	scanf("%f", &e);
	x0 = a;
	printf("x0 = %f\n", x0);
	for (i = 1;; i++) {
		x = fa(x0);
		printf("x(%d)=%f\n", i, x);
		if (fabs(x - x0) < e)
			return x;
		else
			x0 = x;
	}
}
float f(float x) {
	float a;
	a = exp(-x) - x + 1;
	return a;
}
float fa(float x) {
	float a;
	a = exp(-x) + 1;
	return a;
}

转载于:https://www.cnblogs.com/java20130722/archive/2013/06/11/3206792.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值