第10讲 一维数组与字符数组.ppt

第10讲 一维数组与字符数组.ppt

ID:48142344

大小:117.50 KB

页数:27页

时间:2020-01-17

第10讲 一维数组与字符数组.ppt_第1页
第10讲 一维数组与字符数组.ppt_第2页
第10讲 一维数组与字符数组.ppt_第3页
第10讲 一维数组与字符数组.ppt_第4页
第10讲 一维数组与字符数组.ppt_第5页
资源描述:

《第10讲 一维数组与字符数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10讲 一维数组与字符数组以后会越来越难,因此一定要对前面的知识及时理解和掌握。看懂、听懂并不等于会用。课堂上时间有限,大家一定要及时预习和复习。复习时注意只需要把我课上讲的几个例题理解透彻并掌握即可注意:思路!算法!作业1:求60个学生的最高分算法:输入60个学生的成绩依次比较,找出最高分输出最高分。2方法一:#include#defineN60voidmain(){inta[N],max;printf("Input%dscore:",N);for(i=0;i<=N-1;i++)scanf("%d",&a[i]);max=a[0];/*假设第一个元素最

2、大*/for(i=1;i<=N-1;i++)/*依次拿当前最大值与下一个元素比较*/if(a[i]>max){max=a[i];}printf("Themaximumscoreis%d:",max);}3方法二:#include#defineN60voidmain(){inta[N],max_i;printf("Input%dscore:",N);for(i=0;i<=N-1;i++)scanf("%d",&a[i]);max_i=0;/*假设最大值对应的下标为0*/for(i=1;i<=N-1;i++)if(a[i]>a[max_i]){max_

3、i=i;}/*求最大元素对应的下标*/printf("Themaximumscoreis%d:",a[max_i]);}4作业2:求60个学生的平均分算法:输入60个学生的成绩计算总分,平均分输出平均分#include#defineN60voidmain(){inta[N],sum;printf("Input%dscore:",N);for(i=0;i<=N-1;i++)scanf("%d",&a[i]);sum=0;for(i=0;i<=N-1;i++)/*求和*/sum+=a[i];printf("aversge=%.1f:",(flo

4、at)sum/N);}5例6-1 对200个学生成绩 从大到小排序算法输入200个成绩排序输入排序结果6冒泡法对N个数从大到小排序:第0趟排序:比较a[0]和a[1],不满足顺序交换,再比较a[1]和a[2],不满足顺序交换,依此类推,直至a[N-2]和a[N-1]比较,不满足顺序交换,通过这一趟的两两比较找到第1个最小的数放在a[N-1]的位置……第J趟排序:比较a[0]和a[1],不满足顺序交换,再比较a[1]和a[2],不满足顺序交换,依此类推,直至a[N-j-2]和a[N-j-1]比较,不满足顺序交换,通过这一趟的两两比较找到第j+1个最小的数放在a[N-j-1]的位置

5、共N-1趟for(j=0;j<=N-2;j++){ /*第j趟排序*/}/*通过依次比较a[I]和a[I+1],不满足顺序交换*/for(i=0;i<=(N-1)-(j-1);i++)if(a[i]#defineN200voidmain(){inta[N],i,j,t;printf("Input%dscore:",N);for(i=0;i<=N-1;i++)scanf("%d",&a[i]);for(j=0;j<=N-2;j++)/*冒泡法排序*/for(i=0;

6、i<=N-j-2;i++)if(a[i]*/{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("Thesortedscore:");for(i=0;i<=N-1;i++){if(i%15==0)printf("");printf("%4d",a[i]);}}/*书中P167的源代码改为for(i=0;i<=N-j-2;i++)*/例6-1完整程序:冒泡法8选择法对N个数从大到小排序第0趟排序:从a[0]至a[N-1],比较找出其中最大数所在的下标k,若k!=0,说明a[k]比a[0]大,则交换a[0]

7、和a[k],通过这一趟的比较找到第1个最大的数放在a[0]的位置……第J趟排序:从a[j]至a[N-1],比较找出其中最大数所在的下标k,若k!=j,说明a[k]比a[j]大,则交换a[j]和a[k],通过这一趟的比较找到第j+1个最大的数放在a[j]的位置共N-1趟for(j=0;j<=N-2;j++){ /*第j趟排序,通过这一趟排序,找到第j+1大的数存于a[j]*/}/*从a[j]至a[N],比较找出其中最大数所在的下标max_i*//*若max_i!=j,说明a[max_i]比a[

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

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

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