C语言常见算法ppt课件.ppt

C语言常见算法ppt课件.ppt

ID:59421853

大小:130.50 KB

页数:41页

时间:2020-09-19

C语言常见算法ppt课件.ppt_第1页
C语言常见算法ppt课件.ppt_第2页
C语言常见算法ppt课件.ppt_第3页
C语言常见算法ppt课件.ppt_第4页
C语言常见算法ppt课件.ppt_第5页
资源描述:

《C语言常见算法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、例1:输出3—100之间的所有素数main(){inti,n,k=0;for(n=3;n<100;n++){for(i=2;i

2、最小值我们需要将最大值(或最小值)保存在一个变量中(假设设变量名为max和min),变量的初值我们一般设为数列中的第一个值。例2:产生20个50到200之间的随机整数,并求出其中的素数、最大值和最小值。#include"stdlib.h"#include"time.h"main(){inta[20],b[20],max,min,k,i,j=0;randomize();for(i=0;i<20;i++)a[i]=random(151)+50;产生20个[50,200]区间内的随机数for(i=0;i<20;i++){for(k=2;k

3、];k++)if(a[i]%k==0)break;if(k==a[i]){b[j]=a[i];j++;}}for(i=0;imax)max=a[i];if(a[i]

4、件次数控制(加多少项n,20,100)用误差控制(直到某一项小于或大于一个数)使用终止标记2循环体求和求每一项:从前一项求出后一项、单独求每一项为下一项作准备3循环初值:设为0、设为第一项注意双重循环设初值的位置4-16有一分数序列的前20项之和main(){inti;floatf1=1,f2=1,f3,s=0;for(i=1;i<=20;i++){f3=f1+f2;f1=f2;f2=f3;s=s+f2/f1;}printf("s=%f",s);}intf1,f2……s=s+1.0*f2/f1s=s+(float)f2/f1三、迭代问题

5、这种方法是使用某个公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的结果。例:用牛顿迭代法求方程在1.5附近的根(精度为10-5)2x3-4x2+3x-6=0迭代公式为:x=x0-f/f1(f1为方程的导数公式)#include"math.h"main(){floatx,x0,f,f1;x0=1.5;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x-x0)>=1e-5){x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0

6、+3;x=x0-f/f1;}printf("%10.8f",x);}四、数字分离有些题中经常要求将一个数中的每一位数字或者其中的某些位数字输出,就需要使用到数字分离技术。如在求解同构数等问题时都需要使用到数字分离技术例:给出一个不多于4位的正整数,要求:求出它是几位数,并且按逆序打印出各位数字main(){inti,j,k=0;scanf("%d",&i);while(i!=0){printf("%4d",i%10);i=i/10;k++;}printf("k=%d",k);}四、以特殊字符做为终止标志例:统计从键盘输入字符的个

7、数,以'#'结束。#include"stdio.h"main(){charc;inti;c=getchar();for(i=0;c!='#';i++)c=getchar();printf("thenumberis:%d",i);}五、排序问题常用的排序方法有四种:顺序交换法、选择法、冒泡法、插入法a.顺序排序法(n=10)指导思想:先设定a[0]中存放最小值,然后用a[0]分别与其后的每一个数a[j](j=1..9)进行比较,在比较过程中如果发现有比a[0]小的数,就将a[0]与a[j]互换,一遍扫描之后,a[0]就是10个数中最小的数,重

8、复此算法,只是每次比较时,进行比较的数的范围向后移一个位置。反复执行(n-1)次上述操作例1:将数组a中的10个数按照由大到小的顺序排好(使用顺序交换法)#defineN10ma

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。