c语言二维数组选择排序,C语言-《二维数组和选择排序》.ppt

二维数组,上次课程回顾,本次课内容,,,掌握二维数组的定义、初始化,,掌握二维数组的存储及应用,,掌握选择排序的算法,教材对应:P106~113,4,二维数组,一、定义格式,类型标识符 数组名[行下标] [列下标],S[0][0] S[0][1] S[0][2] S[0][3],int s[3][4];,二、 二维数组在内存中存储形式,98 67 87 90 66 78 56 79 68 68 89 78,S[1][0] S[1][1] S[1][2] S[1][3] …,二维数组定义,初始化,int books[3][2] = {{11, 1294},{22,450}, {33,4000}};,int arr[ ][3] = { {1,2,3}, {4,5,6} };,int arr[2][ ] = { {1,2,3}, {4,5,6} };,练习,98 67 87 90 66 78 56 79 68 68 89 78,二维数组存储,int s[3][4],行下标,列下标,main() { int s[3][4], i, j;,for(i=0;i3;i++) { for(j=0;j4;j++) printf(“%2d”, s[i][j]); printf(“\n”); },for(i=0;i3;i++) for(j=0;j4;j++) scanf(“%d“,,main() { int a[2][3]={1,2,3,4,5,6}, b[3][2]; for( i=0; i2; i++ ) for(j=0; j3; j++),for( i=0; i 3; i++ ) { for(j=0; j 2; j++) printf(“%4d”, b[i][j]); printf(“\n”); },矩阵转置,演示代码示例11_1,设某学校学生为 5000 人,其年龄在 17岁~ 26岁,请编程序实现统计各年龄 的人数。,,main() { int s[10]={0}, age, i; for(i=0; i5000; i++) { scanf(“%d\n”, } },代码分析,代码分析,int i,j,student[3][2]; for(i = 0;i 3;i++) { printf(“\n 输入学号 %d 两个学期的成绩:“,i+1); for(j = 0;j 2;j++) scanf(“%d“, },,内层循环执行 6 次,读入6个值,,输出数组元素的值,输入学号 1 两个学期的成绩:65 56 输入学号 2 两个学期的成绩:78 80 输入学号 3 两个学期的成绩:89 66 学员的学号及其两个学期的成绩为: 学号 第一学期 第二学期 1 65 56 2 78 80 3 89 66 Press any key to continue,选择排序算法,选择排序算法是通过若干次循环,每次循环都把数组中未排序部分的最小(大)元素放到未排序部分的第一位。,,44,33,55,22,11,,11,33,55,22,44,第一趟比较,,11,22,55,33,44,,11,22,33,55,44,,11,22,33,44,55,第二趟比较,第三趟比较,第四趟比较,从选择排序过程可以看出,选择排序算法也需要两重循环,内部循环用于从未排序部分找出最小(大)元素。而外部循环用于控制内部循环的次数,外部循环次数为数组个数减1.现假设数组元素个数为N。,演示代码示例11_2,本次课课程总结,作业布置与要求,1、用二维数组打印出空心菱形 。,2、输入n个学生的数学,英语成绩,然后统计 每门课程的总成绩,平均分,最高分和最低分, 最后输出新的成绩单,成绩单对齐。,下次课内容,

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值