C语言新教材PPT课堂课件-C语言总结.pdf
《C语言新教材PPT课堂课件-C语言总结.pdf》由会员分享,可在线阅读,更多相关《C语言新教材PPT课堂课件-C语言总结.pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一一 素素数数、随随机机数数、最最大大值值和和最最小小值值(1) 判判断断一一个个数数是是否否为为素素数数素素数数:只只能能被被1和和它它本本身身整整除除的的数数。 要要判判断断一一个个正正整整数数m是是不不是是素素数数,需需要要用用大大于于1且且小小于于它它本本身身的的正正整整数数去去除除它它,只只要要它它能能被被其其中中的的一一个个数数整整除除,就就说说明明它它不不是是素素数数。若若所所有有的的数数都都不不能能被被它它整整除除,说说明明它它是是素素数数。例例1:输输出出3100之之间间的的所所有有素素数数main() int i,n,k=0; for(n=3;n100;n+) for(i=
2、2;in;i+) if(n%i= =0) break; if(i= =n) printf(“%4d”,n); k+; if(k%10= =0) printf(“n”); (2) 随随机机数数 函函数数random(int num)用用于于产产生生0,num)区区间间的的一一个个整整数数。其其包包含含在在“stdlib.h”头头文文件件中中 为为了了使使每每一一次次运运行行都都产产生生一一组组新新的的随随机机数数,可可以以使使用用randomize()函函数数是是每每次次均均产产生生不不同同的的随随机机数数。其其包包含含在在头头文文件件“time.h”中中(3) 最最大大值值与与最最小小值值 我
3、我们们需需要要将将最最大大值值(或或最最小小值值)保保存存在在一一个个变变量量中中(假假设设设设变变量量名名为为max和和min),变变量量的的初初值值我我们们一一般般设设为为数数列列中中的的第第一一个个值值。例例2:产产生生20个个50到到200之之间间的的随随机机整整数数,并并求求出出其其中中的的素素数数、最最大大值值和和最最小小值值。#include stdlib.h#include time.hmain() int a20,b20,max,min,k,i,j=0; randomize(); for(i=0;i20;i+) ai=random(151)+50;产产生生20个个50,200
4、区区间间内内的的随随机机数数 for(i=0;i20;i+) for(k=2;kai;k+) if(ai%k=0) break; if(k=ai) bj=ai; j+; for(i=0;ij;i+) printf(%4d,bi); printf(n);从从a数数组组中中找找出出其其中中的的素素数数放放在在b数数组组中中输输出出b数数组组中中的的各各个个元元素素 max=a0; min=a0; for(i=1;imax) max=ai; if(aimin) min=ai; printf(max=%4d,min=%4dn,max,min);求求出出a数数组组中中的的最最大大值值与与最最小小值值二二
5、二二、求求求求累累累累加加加加和和和和的的的的算算算算法法法法l1 循循环环条条件件 次次数数控控制制(加加多多少少项项n,20,100) 用用误误差差控控制制(直直到到某某一一项项小小于于或或大大于于一一个个数数) 使使用用终终止止标标记记l2 循循环环体体求求和和求求每每一一项项:从从前前一一项项求求出出后后一一项项、单单独独求求每每一一项项为为下下一一项项作作准准备备l3 循循环环初初值值:设设为为0、设设为为第第一一项项 注注意意双双重重循循环环设设初初值值的的位位置置4-16 4-16 有有有有一一一一分分分分数数数数序序序序列列列列 的的的的前前前前2020项项项项之之之之和和和和
6、main() int i; float f1=1,f2=1,f3,s=0; for ( i=1;i=1e-5) x0=x; f=(2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1; printf(%10.8f n,x); 四四、数数字字分分离离 有有些些题题中中经经常常要要求求将将一一个个数数中中的的每每一一位位数数字字或或者者其其中中的的某某些些位位数数字字输输出出,就就需需要要使使用用到到数数字字分分离离技技术术。 如如在在求求解解同同构构数数等等问问题题时时都都需需要要使使用用到到数数字字分分离离技技术术例例:给给出出一一个个不不多多于于4位
7、位的的正正整整数数,要要求求:求求出出它它是是几几位位数数,并并且且按按逆逆序序打打印印出出各各位位数数字字 main() int i,j,k=0; scanf(%d,&i); while(i!=0) printf(%4d,i%10); i=i/10; k+; printf(nk=%dn,k);四四、以以特特殊殊字字符符做做为为终终止止标标志志例例:统统计计从从键键盘盘输输入入字字符符的的个个数数,以以#结结束束。#include stdio.hmain() char c; int i; c=getchar(); for(i=0; c!=#; i+); c=getchar(); printf(
8、the number is:%d,i);五五、排排序序问问题题常常用用的的排排序序方方法法有有四四种种:顺顺序序交交换换法法、选选择择法法、冒冒泡泡法法、插插入入法法a.顺顺序序排排序序法法(n=10)指指导导思思想想:先先设设定定a0中中存存放放最最小小值值,然然后后用用a0分分别别与与其其后后的的每每一一个个数数aj(j=1.9)进进行行比比较较,在在比比较较过过程程中中如如果果发发现现有有比比a0小小的的数数,就就将将a0与与aj互互换换,一一遍遍扫扫描描之之后后,a0就就是是10个个数数中中最最小小的的数数,重重复复此此算算法法,只只是是每每次次比比较较时时,进进行行比比较较的的数数的
9、的范范围围向向后后移移一一个个位位置置。反反复复执执行行(n-1)次次上上述述操操作作例例1:将将数数组组a中中的的10个个数数按按照照由由大大到到小小的的顺顺序序排排好好(使使用用顺顺序序交交换换法法)#define N 10main( ) int aN,i,j,k,t; for(i=0;iN;i+) scanf(%d,&ai); for (i=0;iN-1;i+) for (j=i+1;jN;j+) if (ajai) t=aj; aj=ai; ai=t; for(i=0;iN;i+) printf(%5d,ai);b.选选择择排排序序法法 指指导导思思想想:不不急急于于交交换换,先先找找
10、出出a0到到a9中中的的最最小小数数所所在在的的位位置置k,一一遍遍扫扫描描完完之之后后,在在把把a0与与ak进进行行交交换换,重重复复次次算算法法9次次。例例2:将将数数组组a中中的的10个个数数按按照照由由大大到到小小的的顺顺序序排排好好(使使用用选选择择法法)#define N 10main( ) int aN,i,j,k,t; for(i=0;iN;i+) scanf(%d,&ai); for (i=0;iN-1;i+) k=i; for(j=i+1;jN;j+) if(ajak) k=j; t=ai; ai=ak; ak=t; for(i=0;iN;i+) printf(%5d,ai
11、);c.冒冒泡泡法法指指导导思思想想:是是将将相相邻邻的的两两个个数数进进行行比比较较,若若前前一一个个数数比比后后一一个个数数大大,在在交交换换两两元元素素的的内内容容,否否则则不不交交换换。从从而而把把最最大大的的数数放放在在最最后后位位置置。#define N 10main( ) int aN,i,j,k,t; for(i=0;iN;i+) scanf(%d,&ai); for (i=0;iN-1;i+) for(j=0;jN-i-1;j+) if(aj+1aj) t=aj; aj=aj+1; aj+1=t; for(i=0;iN;i+) printf(%5d,ai);例例:有有N个个数
12、数已已按按由由小小到到大大的的顺顺序序排排好好,要要求求输输入入一一个个数数,把把它它插插入入到到原原有有序序列列中中,而而且且仍仍然然保保持持有有序序。输输入入数数据据时时,使使其其数数据据排排列列仍仍然然有有序序解解题题思思想想: 先先找找到到待待插插入入的的位位置置,然然后后将将从从该该位位置置起起到到数数组组的的最最后后位位置置的的所所有有元元素素均均向向后后移移一一个个位位置置。 main() int a100,i,j,n,x; scanf(%d,&n); /* 确确定定数数组组元元素素中中的的个个数数 */ for (i=0;in;i+) scanf(%d,&ai); /* 给给数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 新教材 PPT 课堂 课件 总结
限制150内