c语言用迭代法编程求近似根
发布时间:2025-05-13 01:13:51 发布人:远客网络
一、c语言用迭代法编程求近似根
牛顿迭代法又称牛顿切线法,它采用以下方法求根:先任意设定一个与真实的根接近的值x0作为第一个近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它作为第二次近似根,再由x1求出f(x1),再过(x1,f(x1))点做f(x)的切线,交x轴于x2,再求出f(x2),再作切线……如此继续下去,直到足够接近真正的x为止。
其中f'(X0)是函数在X0处的斜率,也就是在X0处的导数。
float f(float a,float b,float c,float d,float x)
float f1(float a,float b,float c,float x)
float root(float a,float b,float c,float d)
x1=x0-f(a,b,c,d,x0)/f1(a,b,c,x0);
printf("input four float numbers:\n");
scanf("%f%f%f%f",&a,&b,&c,&d);
printf("%.1fX^3+%.1fX^2+%.1fX+%.1f=0 its root near x=1.5 is:%.4f\n",a,b,c,d,x);
二、c语言一元二次方程求根程序
1、手动输入三个系数,分别代表二次项系数、一次项系数、常数项。
2、判断输入的二次项系数是否为0,如果为0,提示“输入的第一个值不合法,请重新输入!”。
3、如果二次项系数不为0,利用根的判别式,计算一元二次方程是否有根。
4、如果判别式Δ>= 0,代表方程有两个根,输出根。
5、如果Δ< 0,提示“方程无根”。
6、c语言一元二次方程求根程序算法的构思过程:
7、一元二次方程的一般式:ax^2+bx+c=0。
8、我们知道,一元二次方程有解(根)的充要条件是:b^2-4ac>=0。如果不满足此关系式,那么方程无解。接着当方程有解的时候又出现了两种情况。
9、有两个重根(大小相等的根)或者两个大小不等的根,为了是程序更加完善还要考虑到a=0的情况,即此时不能看做一元二次方程而只能将其看作一元一次方程,本程序运用求根公式来实现功能。
三、计算机二级c语言考试内容
1、1结构体(人员记录查找)字符串(找子串)字符串(删除字符串中的某些字符)
2、2结构体(人员记录查找)素数(为素数的因子)结构体(学生记录查找)
3、3结构体(学生记录运算)阶乘二维数组(左下三角运算)
4、4结构体(人员记录排序)字符串(字符串的连接)二维数组(左下三角运算)
5、5结构体(人员记录查找)数字交换(a,b的值交换)二维数组(每列的最小元素)
6、6结构体(学生记录运算)整型一维数组(找最大值和次最大值)正整数(整数拆散)
7、7字符串(几个字符串按长度来排序)字符串(查找,插入操作)字符串(内容逆置)
8、8字符串(找最长字符串,左边插入*)阶乘字符串(删除字符串中的某些字符)
9、9字符串(找最长字符串,右边插入*)字符串(每个单词的最后一个字母变大写)字符串(除首尾排序)
10、10字符串(找最长字符串和它的行下标)数学公式字符串(找子串)
11、11二维数组(右上三角运算)数学公式字符串(删除前导*)
12、12二维数组(对角线运算)折半查找字符串(删除除了尾部的*)
13、13二维数组(对角线运算)二分法求根字符串(删除除了前导和尾部的*)
14、14一维数组(删除偶数)最大公约数字符串(删除所有的*)
15、15一维数组(删除奇数)数学公式字符串(删除尾部多余的*)
16、16一维数组(元素移动)数列结构体(学生记录运算)
17、17一维数组(元素移动)一维数组(求平均值)结构体(学生记录运算)
18、18一维数组(元素移动) 3个数比较大小结构体(学生记录运算)
19、19一维数组(元素移动)进制转换结构体(学生记录查找)
20、20字符串(数字字符转换)字符串(字符复制)链表(求平均分)
21、21字符串(字母转换)一维数组(元素移动)求一个数的所有因子之和
22、22数学公式红黑白三种球分组数学公式
23、23数学公式正整数(整数拆散)数学公式
24、24数学公式正整数(整数拆散比较各位是否相等)数学公式(方差)
25、25数学公式正整数(整数拆散求和)一维数组(求平均值)
26、27正整数(整数拆散统计个数)正整数(整数拆散统计个数)数学公式
27、28素数素数数学计算(能被5或9整除的数的倒数和)
28、30比较大小(找中间的数)字符串(字母转换)数学公式
29、31正整数(整数拆散求和)字符串(内容逆置)正整数(整数合并)
30、32正整数(整数拆散求和)正整数(整数拆散重组)结构体(学生记录排序)
31、33正整数(整数拆散重组)二维数组(对角线运算)正整数(整数合并)
32、34正整数(整数拆散重组)正整数(整数拆散重组)字符串(字符串的连接)
33、35正整数(整数拆散重组)阶乘字符串(数字字符转换为对应的整数)
34、36数学公式字符串(找子串)数学公式(求π)
35、37数学公式素数整型一维数组(找最大值和最大值的下标)
36、38数学公式数学公式二维数组(求最大元素的值)
37、39数学公式字符串(字符串的连接)字符串(删除字符串中的某些字符)
38、40一维数组(元素移动)字符串(找子串替换字串)字符串(删除字符串中的某些字符)
39、41一维数组(元素移动)字符串(连个字符串合并)字符串(删除字符串中的某些字符)
40、42一维数组(平均值)数学公式结构体(学生记录查找)
41、43一维数组(平均值)数学公式二维数组(右上三角运算)
42、44一维数组(平均值,元素移动)字符串(每个单词的第一一个字母变大写)二维数组(周边元素求平均值)
43、45一维数组(平均值,元素移动)字符串(统计元音字母个数)二维数组(周边元素求和)
44、46字符串(数字字符转换为整数)字符串(统计元大小写字母个数)四舍五入
45、47随机函数二维数组(对角线运算)二维数组(转置)
46、48二维数组(求最大元素的值)交换两个数的值素数
47、49二维数组(按规律构造矩阵)进制转换(转换为k进制)字符串(找最长的字符串)
48、50二维数组(幻方矩阵)数学公式字符串(删除字符串中的某些字符)
49、51二维数组(元素移动)字符串(排序)字符串(字母转换)
50、52二维数组(元素移动)二维数组(按规律构造矩阵)正整数(整数合并)
51、53二维数组(找最大值和最小值)数学公式一维数组(平均值)
52、54字符串(复制)素数整数(找奇数因子)
53、56字符串(统计单词个数)一维数组(平均值)一维数组(找最大值和它的下标)
54、57字符串(复制)一维数组(平均值)数学公式(阶乘)
55、58字符串(数字字符转换为整数)整数(求和)整数(求平方根)
56、59字符串(统计字母个数)数学公式数学公式
57、60指针数组(排序)整数(数列求和)数学公式
58、61二维数组(字符串比较)正整数(整数拆散统计个数)字符串(删除尾部的*)
59、62二维数组(字符串删除)字符串(字符比较复制)字符串(删除除了前导的*)
60、63字符串(找子串)最小公倍数字符串(删除前导和尾部的*)
61、64二维数组(字符删除)数学公式(求π)字符串(删除多余的前导*)
62、65结构体(学生记录运算)字符串(删除字符串中的某些字符)字符串(前导*移到尾部)
63、66结构体(学生记录运算)数学公式结构体(学生记录运算)
64、67结构体(学生记录运算)一维数组(删除一个数)结构体(学生记录找最低分)
65、68结构体(学生记录运算)字符串(找最长字符串)正整数(整数合并)
66、69结构体(学生记录排序)字符串(找最大的字符)结构体(学生记录查找)
67、70结构体(学生记录运算)字符串(插入法排序)链表(找最高分)
68、71函数指针链表(求和)字符串(回文)
69、72链表(排序)链表(找最大值)二维数组转为一维数组
70、73链表(逆置)字符串(字符比较复制)二维数组转为一维数组
71、74链表(逆置)字符串(找子串,统计字串个数)二维数组转为一维数组
72、75链表(排序)字符串(字母转换)一维数组(元素移动)
73、76函数调用字符串(比较长度)字符串(字符移动)
74、77文件字符串(删除字符串中的某些字符)二维数组转为一维数组
75、78文件结构体(动态存储)一维数组(元素删除)
76、79文件(结构体)字符串(字符插入)一维数组(年龄统计)
77、80文件(结构体)链表(赋值)字符串(统计单词个数)