当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

重庆邮电大学:《C语言程序设计》第10讲 一维数组与字符数组(谢竞博)

资源类别:文库,文档格式:PPT,文档页数:27,文件大小:115.5KB,团购合买
一、算法: 1、输入60个学生的成绩 2、依次比较,找出最高分 3、输出最高分。
点击下载完整版文档(PPT)

第10讲 维数组与字符数组 ·以后会越来越难,因此一定要对前面的知识及时理解和掌握。 看懂、听懂并不等于会用。 课堂上时间有限,大家一定要及时预习和复习。 复习时注意只需要把我课上讲的几个例题理解透彻并掌握即可 注意:思路!算法

第10讲 一维数组与字符数组 •以后会越来越难,因此一定要对前面的知识及时理解和掌握。 •看懂、听懂并不等于会用。 •课堂上时间有限,大家一定要及时预习和复习。 •复习时注意只需要把我课上讲的几个例题理解透彻并掌握即可 •注意:思路!算法!

作业1:求60个学生的最高分 n算法: 输入60个学生的成绩 依次比较,找出最高分 输出最高分

2 作业1:求60个学生的最高分 ▪ 算法: ▪ 输入60个学生的成绩 ▪ 依次比较,找出最高分 ▪ 输出最高分

方法一: include *define n 60 void maino int a[ni, max: printf Input %od score: \n,N) for(i=0:imax) max=a[i: y printf \n The maximum score is %d: \n ", max):

3 方法一: #include #define N 60 void main() { int a[N],max; printf("Input %d score:\n",N); for(i=0;imax) { max=a[i]; } printf("\n The maximum score is %d :\n " ,max); }

方法二 include a[max订j maxi=i;}求最大元素对应的下标*/ printf \n The maximum score is %d: \n",a[max_i]

4 方法二: #include #define N 60 void main() { int a[N],max_i; printf("Input %d score:\n",N); for(i=0;ia[max_i]) { max_i=i; } /*求最大元素对应的下标*/ printf("\n The maximum score is %d :\n " ,a[max_i]); }

作业2:求60个学生的平均分鼠 #include fdefinen60 void maino int a[ni, sum printf( Input %d score: n",N): for(i=0i<=N-1;i*+) scanf( %d" &a[iD: sum=0 for(=oi<=N-1;i+)求和* sum+=a0: printf( \n average=%.1f n". (float)sum/N):

5 作业2:求60个学生的平均分 ▪ 算法: ▪ 输入60个学生的成绩 ▪ 计算总分,平均分 ▪ 输出平均分 #include #define N 60 void main() { int a[N],sum; printf("Input %d score:\n",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("\n aversge=%.1f :\n ",(float)sum/N); }

例6-1对200个学生成绩 从大到小排序 算法 输入200个成绩 排序 输入排序结果

6 例6-1 对200个学生成绩 从大到小排序 ▪ 算法 ▪ 输入200个成绩 ▪ 排序 ▪ 输入排序结果

冒泡法对N个数从大到小排序 for i=0; j<=N-2: j++) 通过依次比较叫口和a[工+1.不满足顺序交换 再 直for(=O:=(N-1)-(-1)i+) 通 if(a[<a[+1 =a[a[=a[i+1]:a[i+1]=t} ■■■■ 第J趟排序:比较a[和a[1],不满足顺序交换, 再比较a[1]和a[2],不满足顺序交换,依此类推, 直至N-j-2]和aN-j-1]比较,不满足顺序交 换,通过这一趟的两两比较找到第j*1个最小的 数放在aN--1]的位置 共N-1趟 7

7 冒泡法对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]的位置 ▪ 共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]<a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}

include #deN200例6-1完整程序:冒泡法 〔 int a[N],ijt printf Input %d score: \nN) for(=0:i t=a[ij:a[i]=a[i+1]a[i+1]=t:} printf(" \n The sorted score: \n) for(i=0:i<=N-1:i++) if(‰15=0) printf("n") printf( %4d",a[iD: }/书中P167的源代码改为for(=0<N-j-2:++)*

8 #include #define N 200 void main() { int a[N],i,j,t; printf("Input %d score:\n",N); for(i=0;i*/ { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf(" \n The sorted score:\n"); for(i=0;i<=N-1;i++) { if(i%15==0) printf("\n"); printf("%4d ",a[i]); } } /*书中P167的源代码改为for(i=0;i<=N-j-2;i++) */ 例6-1完整程序:冒泡法

fori=0:ja[max_ iD) [max j=i:] 广若maxl=j,说明q[max比j大,则交换 if(max_i==j) [t=a[max_i]: a[max_i]=a[i]: aLi]=: ■第趟排序:从α叮全@N-1,比较找出其中 最大数所在的下标k,若k=j,说明a[k]比aj 大,则交换a和a[k,通过这一趟的比较找到 第j+1个最大的数放在a[门的位置 共N-1趟

9 选择法对N个数从大到小排序 ▪ 第0趟排序:从a[0]至a[N-1] ,比较找出其中 最大数所在的下标k,若k!=0,说明a[k]比a[0] 大,则交换a[0]和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;ja[max_i]) {max_i=i;} if(max_i!==j) {t=a[max_i]; a[max_i]=a[j]; a[j]=t; }

#include define N 200 void maino 例6-1完整程序:选择法 t int a[N], i,j, max_i,t: printf("Input %d score:\n" N) for(i=0:ia[maxj/若从小到大排序,改成< [max j=i: 3 if(max_il==j) [t=a[max门;a[mx订=j:q[=t:} printf" \n The sorted score: \n"): for(i=0:i<=N-1:++) if(‰15==0)prn("n") ) printf("%4d ",a[iD):

10 #include #define N 200 void main() { int a[N],i,j,max_i,t; printf("Input %d score:\n",N); for(i=0;ia[max_i]) /*若从小到大排序,改成<*/ {max_i=i;} if(max_i!==j) {t=a[max_i]; a[max_i]=a[j]; a[j]=t; } } printf(" \n The sorted score:\n"); for(i=0;i<=N-1;i++) { if(i%15==0) printf("\n"); printf("%4d ",a[i]); } } 例6-1完整程序:选择法

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共27页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有