[详细完整版]程序设计C.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
三、编程题(共25分) 1. 编写一个程序实现利用牛顿迭代法求方程ax3+bx2+cx+d=0的根,系数a,b,c,d的值依次为 1,2,3,4,由主函数输入,求x在1附近的一个实根。(15分) 2.有一个已排好序的数组{1,3,5,7,9,10},今任意输入一个数,要求按原来排序的规律 将它插入数组中。(10分) 1. #include<stdio.h> #include<math.h> double value(double a,double b,double c,double d,double x) { return (a*x*x*x+b*x*x+c*x+d); } double daovalue(double a,double b,double c,double d,double x) { return (3*a*x*x+2*b*x+c); } int main() { double x1=0,x2,a,b,c,d; printf("Please insert the value of a,b,c,d:");//a,b,c,d赋值 scanf("%lf%lf%lf%lf",&a 【程序设计C】这篇文档包含了两个C语言编程题目,旨在测试学生的编程能力,特别是对算法的理解和应用。第一个问题是利用牛顿迭代法求解一元三次方程的根,而第二个问题是实现已排序数组的插入操作。 1. 牛顿迭代法求解方程根: 牛顿迭代法是一种寻找函数零点的数值方法。在这个问题中,要求求解方程`ax^3 + bx^2 + cx + d = 0`的根,其中a、b、c、d的值分别为1、2、3、4。迭代公式如下: `x_n+1 = x_n - f(x_n) / f'(x_n)` 这里的`f(x)`是原方程,`f'(x)`是方程的导数。给出的代码中,`value`函数用于计算`f(x)`,`daovalue`函数用于计算`f'(x)`。在`main`函数中,用户输入a、b、c、d的值,然后输入初始猜测值`x2`,通过迭代直到满足一定的精度条件(这里使用`fabs(x1 - x2) >= 10e-6`作为终止条件)来找到方程的近似根。 2. 排序数组插入操作: 题目要求在一个已排序的数组{1,3,5,7,9,10}中插入一个任意数,保持原有顺序。提供的代码首先打印出原始数组,然后读取用户输入的数字。遍历数组,找到插入位置,通过交换元素将新输入的数字插入到合适的位置,最后更新数组长度。这展示了基本的线性搜索和数组操作技巧。 此外,文档还提到了其他编程题目,包括: - 判断平方和是否大于100并输出相应结果。 - 判断一个正整数是否同时是5和7的倍数。 - 使用switch语句实现根据给定的百分制成绩输出五分制成绩。 - 编写判断素数的函数`isprime`。 - 编写求二维数组最大值的函数`max_value`。 这些题目涵盖了条件控制、循环、数学运算、数组操作、函数设计等基础编程概念,是学习C语言和算法设计的良好实践。
- 粉丝: 195
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助