欢迎来到天天文库
浏览记录
ID:39320093
大小:236.76 KB
页数:16页
时间:2019-06-30
《C/C程序设计》第08章常用算法举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、常用算法程序设计举例穷举法迭代法(求解一元方程的根)求定积分法排序法数据的查找和检索本章将介绍以下常见算法穷举法的程序设计百钱买百鸡(百鸡问题)“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”题意为:公鸡每只5元,母鸡每只3元,小鸡每3只1元,要求100元买回100只鸡,问共有多少种买法?1、牛顿迭代法2、二分法3、弦截法迭代法求一元方程的近似解================================例:分别用牛顿迭代法、二分法求:f(x)=7x4+6x3-5x2+4x+3=0求非线性方程根举例定积分的编程法
2、梯形法矩形法辛普生法矩形法矩形的面积:底高高:h=(b-a)/n因此第一个小矩形面积为:s1=f(a)h或s1=f(a+h)h而第i个小矩形面积为:si=f(a+(i-1)h)h如图8.2所示。【例】用矩形法求的值/*程序8.9矩形法求定积分值*/#includemain(){floatx,a,b,h,s,f0;intn,i;printf("inputa,b,n:");scanf("%f%f%d",&a,&b,&n);x=a;h=(b-a)/n;f(a)f(x)y0aa+ha+(i-1)ha+ihbf0=1+sin(x);for(s
3、=0.0,i=1;i<=n;i++){s=s+f0*h;x=x+h;f0=1+sin(x);}printf("s=%f",s);}=================================例:求定积分数值积分排序算法比较交换法选择排序法冒泡排序法插入排序法=================================例1:将5个学生的计算机成绩按高分到低分的顺序排列。例2:将10个学生的姓名和三门功课的成绩输入到计算机,计算出每人的总分,按总分的大小排序。排序举例选择法这种方法先也是把一堆卡片全部摊在桌面上,有号码的这一面朝上。它是第一次从这
4、些卡片中挑选出号码最小的一张拿在手中,第二次再从剩下的那些卡片中挑选出最小的一张拿在手中,然后把它放到第一张的后面,以此类推,重复这个过程,直到最后一张,这样手中拿着的就是一叠排好序的牌。例:将50个整数由小到大(升序)的顺序排序。#defineN50main(){inti,j,k,t;inta[N]={10,33,23,45,12,67,44,22,33,18,……};for(i=0;ia[j])k=j;/*记下每一轮比较出的最小元素的下标*/if(i!=k){t=a[k];a
5、[k]=a[i];a[i]=t;}}for(i=0;i6、a02h2a02h9/16/2021
6、a02h2a02h9/16/2021
此文档下载收益归作者所有