资源描述:
《c语言-《二维数组和选择排序》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二维数组上次课程回顾1.一维数组的定义,初始化2.冒泡排序算法本次课内容掌握二维数组的定义、初始化掌握二维数组的存储及应用掌握选择排序的算法教材对应:P106~1134二维数组一、定义格式类型标识符数组名[行下标][列下标]98678790S[0][0]S[0][1]S[0][2]S[0][3]ints[3][4];二、二维数组在内存中存储形式986787906678567968688978S[1][0]S[1][1]S[1][2]S[1][3]…66785679…二维数组定义初始化intbooks[3][2]={{11
2、,1294},{22,450},{33,4000}};intarr[][3]={{1,2,3},{4,5,6} };intarr[2][]={{1,2,3},{4,5,6} };错误练习2、通过键盘给二维数组赋值986787906678567968688978二维数组存储ints[3][4]行下标列下标main(){ints[3][4],i,j;for(i=0;i<3;i++){for(j=0;j<4;j++)printf(“%2d”,s[i][j]);printf(“”);}for(i=0;i<3;i++)for(
3、j=0;j<4;j++)scanf("%d",&s[i][j]);main(){inta[2][3]={1,2,3,4,5,6},b[3][2];for(i=0;i<2;i++)for(j=0;j<3;j++)for(i=0;i<3;i++){for(j=0;j<2;j++)printf(“%4d”,b[i][j]);printf(“”);}123456a=142536b=练习矩阵转置演示代码示例11_1设某学校学生为5000人,其年龄在17岁~26岁,请编程序实现统计各年龄的人数。练习main(){ints[10]
4、={0},age,i;for(i=0;i<5000;i++){scanf(“%d”,&age);switch(age){case17:s[0]++;break;case18:s[1]++;break;……case26:s[9]++;break;default:printf(“数据错”);}}for(i=0;i<10;i++)printf(“%2d”,s[i]);}代码分析代码分析inti,j,student[3][2];for(i=0;i<3;i++){printf("输入学号%d两个学期的成绩:",i+1);f
5、or(j=0;j<2;j++)scanf("%d",&student[i][j]);}printf("学员的学号及其两个学期的成绩为:");printf("t学号t第一学期t第二学期");for(i=0;i<3;i++){printf("t");printf("%dt",i+1);for(j=0;j<2;j++)printf("%dtt",student[i][j]);printf("");}i=0i=1i=2j=0657889j=1568066内层循环执行6次,读入6个值输出数组元素的
6、值输入学号1两个学期的成绩:6556输入学号2两个学期的成绩:7880输入学号3两个学期的成绩:8966学员的学号及其两个学期的成绩为:学号第一学期第二学期165562788038966Pressanykeytocontinue选择排序算法选择排序算法是通过若干次循环,每次循环都把数组中未排序部分的最小(大)元素放到未排序部分的第一位。44335522111133552244第一趟比较112255334411223355441122334455第二趟比较第三趟比较第四趟比较从选择排序过程可以看出,选择排序算法也需要两重循
7、环,内部循环用于从未排序部分找出最小(大)元素。而外部循环用于控制内部循环的次数,外部循环次数为数组个数减1.现假设数组元素个数为N。演示代码示例11_2本次课课程总结1二维数组的定义、初始化2二维数组的存储及应用3选择排序算法作业布置与要求1、用二维数组打印出空心菱形。2、输入n个学生的数学,英语成绩,然后统计每门课程的总成绩,平均分,最高分和最低分,最后输出新的成绩单,成绩单对齐。下次课内容数组测试题2数组总结31