C程序设计基础讲义5.ppt
《C程序设计基础讲义5.ppt》由会员分享,可在线阅读,更多相关《C程序设计基础讲义5.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计语言程序设计语言C信息与计算科学教研室CHGGONGCC.SHU.EDU.CN第五章 数组一维数组多维数组字符数组习题讲解数组数组一组同名不同下标的下标变量。就是指具有相同数据类型的变量集。例1:求10个整数最大值。main()int a10,max,i;scanf(%d,a0);max=a0;for(i=1;imax)max=ai;printf(max=%dn,max);1.一维数组1 定义方法2 引用方法3 初始化方法4 字符输入出方法5 排序方法1 定义方法一维数组的说明格式是:类型 变量名长度;如:int a10;unsigned long a20;char*s5;char*f
2、;定义方法要点int a10;定义方法要点:1.类型:数组元素的类型 2.地址:即首地址:&a0=a,第i元素地址&ai=a+i*(元素长度);3:长度:数组有10个元素,a0a9;char str 8;说明的数组中存入“hello”字符串后,str表示第一个字母“h”所在的内存单元地址。str0 存放的是字母“h”的ASCII码值,以此类推,str4存入的是字母“o”的ASCII码值,str5则应存放字符串终止符0。hello02 初始化方法int a10=2,4,6,8,10;char c80,*p=H,e,l,l,o=“Hello”;如:如:1.指出下列合法定义指出下列合法定义A.int
3、 a=“string”;B.char a=“string”;C.int a5=0,1,2,3,4,5;D.char a=1,2,3,4,5;2.int a12=1,2,12;char c=a,d,g;表式表式=4?A.ag-cB.a4C.ad-cD.ad-c3 引用方法下标法下标法main()char c80;int i;scanf(%s,c);for(i=0;ci!=0;i+)printf(%c,ci);/*scanf(%s,c);*/*printf(%s,c);*/*for(i=0;ci!=0;i+)scanf(%c,&ci);*/指针法指针法main()char c80,*p=c;pri
4、ntf(n);scanf(%s,p);for(p=c;*p!=0;p+)printf(%c,*p);5 排序方法A冒泡法 B选择法96824968249628 492 68 42 968 49 6 8 2 42 9 6 8 42 4 9 6 8 2 4 6 9 8冒泡法968249682428262 9main()int n,i,j,k,x,a100;scanf(%d,&n);printf(n);for(i=0;in;i+)scanf(%d,&ai);for(k=1;kn;k+)for(j=n-1,i=0;in-k;i+,j-)if(ajaj-1)x=aj;aj=aj-1;aj-1=x;for
5、(i=0;in;i+)printf(%d,ai);printf(n);选择法main()int n,i,k,x,min,num,a100;scanf(%d,&n);printf(n);for(i=0;in;i+)scanf(%d,&ai);for(k=0;kn-1;k+)min=ak;num=k;for(i=k;in;i+)if(aimin)min=ai;num=i;x=anum;anum=ak;ak=x;for(i=0;in;i+)printf(%d,ai);printf(n);9 6 8 2 42 9 6 8 42 4 9 6 8 2 4 6 9 82 4 6 8 9插入法main()in
6、t n,i,j,x,a100;scanf(%d,&n);printf(n);for(i=0;in;i+)scanf(%d,&ai);for(i=0;i=0&xaj;j-)aj+1=aj;aj+1=x;for(i=0;in;i+)printf(%d,ai);printf(n);9 6 8 2 46 9 8 2 46 8 9 2 4 2 6 9 8 42 4 6 9 8简单排序方法法法1 数组法数组法int i,j,a10,x,*p=a;for(i=0;i9;i+)for(j=i+1;j10;j+)if(aiaj)x=ai;ai=aj;aj=x;法法2 数组指针法数组指针法(*p=a;ap)if(
7、pipj)x=pi;pi=pj;pj=x;简单排序方法法3 指针变量法int i,j,a10,x,*p=a;for(i=0;i9;i+)for(j=i+1;j10;j+)if(*(p+i)*(p+j)x=*(p+i);*(p+i)=*(p+j);*(p+j)=x;法4 指针数组法(pa)简单排序方法法5 移动指针法int i,j,a10,x,*p=a;for(i=0;i10;i+)scanf(“%d”,p+);p=a;for(i=0;i10;i+)printf(“%d”,*p);p+;习题P1495.2 5.3 5.4习题5.2习题5.2:输入10个数,输出这10个数中仅出现一次的数。如输入:
8、12 36 72 36 87 99 87 87 12 35则输出:72 99 35 设一计数变量n,统计一个数出现次数。基本算法思想 对于每个数,与全部数一一比较,如遇相等,则 n加1。一个数与全部数一一比较完后,如计数值n为1,则表示该数仅出现一次,输出该数。习题5.2main()int a10,i,j,n;for(i=0;i 10;i+)scanf(%d,&ai);for(i=0;i 10;i+)n=0;for(j=0;j 10;j+)if(ai=aj)n+;if(n=1)printf(%d,ai);习题5.31编一程序,从键盘输入年份和该年中的第几天,计算并输出该天的日期(YYYY-MM
9、-DD).例如,输入:2004279 输出:2004-10-5。2编一程序,从键盘输入日期(YYYY-MM-DD),计算并输出该日期是该年的第几天.例如,输入:2004-10-5 输出:279。习题5.3#includestring.h“#includestdio.hmain()int s13,a,b,m,n,i,c13=0,31,59,90,120,151,181,212,243,273,304,334,365;scanf(%d%d,&a,&b);if(a%4=0&a%100!=0)|(a%400)=0)s0=0;s1=31;s2=60;s3=91;s4=121;s5=152;s6=182;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 讲义
限制150内