欢迎来到天天文库
浏览记录
ID:49516308
大小:228.50 KB
页数:12页
时间:2020-02-26
《宋琳《数组引用》课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、§6.1数值型数组·一维数组的引用宋琳如何定义一维数组?#defineS20main(){inta[10];intdata[S];}例inti=15;intdata[i];/*不能用变量定义数组长度*/一维数组的引用数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:数组名[下标]其中:下标可以是常量或任意返回整型量的表达式例inta[10];printf(“%d”,a);()必须for(j=0;j<10;j++)printf(“%dt”,a[j]);()例intdata[5];data[5]=10;/*
2、C语言对数组不作越界检查,使用时要注意*/例1:键盘输入十个整数,按从小到大顺序排序并输出。例初始:[49386597761327]iji=0j=1~649一趟:13[496597763827]38五趟:1327384965[9776]六趟:132738496576[97]ijjjjjjjjj38j3813二趟:1327[6597764938]三趟:132738[97766549]四趟:13273849[977665]493827i=1j=2~6i=2j=3~6i=3j=4~6i=4j=5~6i=5j=6~6输入10个数给a[0]到a[9]f
3、ori=0to8forj=i+1to9a[i]>a[j]输出a[0]到a[9]a[i]a[j]真假#includemain(){inta[10],i,j,t;for(i=0;i<=9;i++)scanf("%d",&a[i]);printf("");for(i=0;i<=8;i++)for(j=i+1;j<=9;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<=9;i++)printf("%d",a[i]);}排序过程:(1)首先通过n-1次比较,从n个数中依次
4、找出小数,将它与第一个数依次交换—第一趟选择排序,结果最小的数被安置在第一个元素的位置上。(2)再通过n-2次比较,从剩余的n-1个数中依次找出小数,将它与第二个数依次交换—第二趟选择排序,结果第二小的数被安置在第二个元素的位置上。(3)重复上述过程,共经过n-1趟排序后,排序结束。简单选择法排序过程小结:方法二:用冒泡法对10个数从小到大排序排序过程:(1)比较第一个数与第二个数,若a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(
5、2)对前n-1个数进行第二趟冒泡排序,结果使第二大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束例3849657613273097第一趟3849651327307697第二趟3849132730657697第三趟3813273049657697第四趟1327303849657697第五趟1327303849657697第六趟4938659776132730初始关键字n=838497697139727973097137676762730136527653065131349493049273827383038
6、1327303849657697第七趟输入n个数给a[1]到a[n]fori=1ton-1forj=1ton-ia[j]>a[j+1]真假a[j]a[j+1]输出a[1]到a[n]#includemain(){inta[11],i,j,t;for(i=1;i<=10;i++)scanf("%d",&a[i]);for(i=1;i<=9;i++)for(j=1;j<=10-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=1;i<=10;i++)printf("
7、%d",a[i]);}#defineN6main(){inta[N],b[‘B’-60],c[]={1,2,3,4,5,6},i;for(i=0;i8、习一维数组的定义和引用(2)上机练习将十个整数从大到小排序(3)预习二维数组
8、习一维数组的定义和引用(2)上机练习将十个整数从大到小排序(3)预习二维数组
此文档下载收益归作者所有