章节
问答
课签
笔记
评论
占位
占位

数组的应用(一)

话说,小明(咋又是他)班级年终考试成绩出来了,老师看着这一堆的数,犯愁了,我怎么找最高的分数呢。。。

那么有数组在就好办多了,我们可以将所有的成绩放到数组中,然后用数组排序一下,就可以找到最高的分了;话又说回来了,数组排序?数组咋排序?别着急往下看。

排序的方法呢有很多,这里小编给大家介绍一种比较经典且比较容易掌握的排序方法:冒泡排序

以升序排序为例冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。就像小学排队时按大小个排一样,将一个同学拉出来和后面的比比,如果高就放后面,一直把队伍排好。

班级成绩中,老师把前十名的挑出来了,用冒泡排序把分数排了一下

运行结果为

任务

小明班级有10人要参加比赛,进场时要按大小个升序排队,老师要用冒泡排序写一个小程序进行排序

在代码编辑器中老师给出了部分代码,请把他完成

在编辑器中

第18、21、22、23行填写代码

运行结果为

?不会了怎么办

参考代码:


 

||
1
#include <stdio
    .h>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最赞回答 / 慕虎9442233
肯定有漏洞啊   for(j=0;j<=8;j++) 这个只是把10个数中最大的移到了最后,剩下9个还要继续对比,所以才用到for(i=8;i>=0;i--)    {        for(j=0;j<=i;j++)        ·······

最赞回答 / qq_慕村6308735
从数组尾部遍历,由于数组arr[ ]长度为9,最大下标是8,所以第二个循环是从i=8开始的

最赞回答 / weixin_慕先生4491833
好欸!

最赞回答 / 精慕门8489557
!=的意思是:不等于。如果不是9,后边的printf打印出来的数字后边就应该加逗号,才能使打印出来的效果达到1,2,3,4   

最新回答 / 慕侠5149597
那个是数组里面的元素,并不代表数组长度。

最赞回答 / 慕用4208721
!=的意思是:不等于。如果不是9,后边的printf打印出来的数字后边就应该加逗号,才能使打印出来的效果达到1,2,3,4     

最赞回答 / weixin_慕仰2568236
定义了数组和整型变量i,j之后,第一个for循环是把排序前的数组遍历出来,if语句作用是数组最后一个数后不要逗号的作用。第二个内嵌循环中第1个for循环作用是逐渐缩小比较范围,第2个for循环作用是通过(比较)和(赋值)把大的数放到当前范围的最后。最后一个循环作用是把排序后的数组遍历出来,if语句作用同第一个。不知道这样是不是你想要的答案?

最赞回答 / 纪月
因为如果i=9,则j<=9,j+1<=10.当j=10时越界了

最新回答 / qq_慕尼黑0470963
i不等于9

最新回答 / 水杉i
参考一下吧#include >stdio.h&(){int main(){    int a[4][4], i, j;    printf("请输入数字\n");    for (i = 0; i & 4; 4; i++)    {        for (j = 0; j &;   4; j++)        scanf("%d", & fora[i][j...

最新回答 / 慕莱坞7197699
单行语句可以把{}省略,多行语句必须加上{}。

最新回答 / 精慕门8489557
第一个for是循环有多少轮,第二个for是每一轮中两两交换的次数

最赞回答 / 慕尼黑2510936
为了能输出数字与数字之间有一个逗号
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言