C语言问题求解如图谢谢 冒泡排序法 这个j<10-i-1 为什么j要小于N-i?是什么意思?
因为是两个相邻的数字比较然后满足条件后交换,然后又依次循环比较。
可能我的描述不是很清楚,建议你在网上搜 冒泡排序舞蹈 的视频观看。
没错,是舞蹈视频。
emmmm...我们老师上课给我们放的,看了过后就很容易理解了。
希望我的回答对你有帮助。
你的问题很古怪,感觉没有问到点子上,建议你先看算法原理说明再看程序,不能先看程序。
定义i、j两个变量,是为了对数列进行双重循环操作。
j没有等于n-1-i,在代码中,j<n-1-i是循环条件,从数据结构优化上将,如果不优化,直接j<n-1就可以了,-i是因为优化,减少算法步骤。
这是因为数组的序号是从0开始的,而不是从1,你想一想啊,当i=0,即数组的第一个元素的下标
的值是0,这一点你要非常注意。在冒泡排序中,第一趟是从N个数组元素中进行
两两比较大小,要比较(N-i-1)次,因为i,j是从0开始计数的,所以0,1,2...N-i-2,是不是就是
(N-i-1)次呢,所以是小于(N-i-1)次。
里面的for循环完成一次循环,就将最大值转移到最后,那么下一次(外面for)就要排除最后已经得到的最大值,在剩下的值中再次得到最大值并转移到最后。
每一次冒泡后,都要少比较一个数据,比如
4 5 2 1
一次冒泡得 4 2 1 5
二次冒泡得(这时只要遍历3个 4 2 1 )2 1 4 5
10-i-1 减去的(i+1)就是已经经过多少次冒泡。
比如第一次 i=0 10-i-1 就为9 那么循环0到9 十个元素 下一次就是9个呢
这个很好办,你自己在纸上画一个数组,然后自己演算一遍,就知道了。
c语言基础问题,求大佬求解
第一图的程序 因为y==9时,y%3==0,执行打印语句,y先自减再打印,输出8,执行continue;跳过后面的语句.for循环执行y--,y==7,y%3不等于0,不执行if语句 for循环执行y--,y==6,y%3==0,执行打印语句,y先自减再打印,输出5,执行continue;跳过后面的语句.for循环执行y--,y==4,y%3不等于0,...
...问题如图,共3个问题,求解答,非常感谢,在线等。
回答1:“球场东头”是一个整体,具体代表一个地方以作地点状语(只有合在一起才有其意义)不要再分;回答2:“跑”为动词,到西头也是作为一个整体修饰跑这一动作,作动词补语。回答3:前者“从。。跑到东头”中的跑(不及物动词)到(及物动词)合成一个可以及物的“动词合成短语”(自造,...
c语言问题 如图中的代码,该题是求杨辉三角的题目。但是这个求法看不...
c语言问题 如图中的代码,该题是求杨辉三角的题目。但是这个求法看不懂。。求解释,谢谢~ 我来答 1个回答 #热议# 已婚女性就应该承担家里大部分家务吗?听不清啊 高粉答主 2015-04-06 · 说的都是干货,快来关注 知道顶级答主 回答量:7.8万 采纳率:89% 帮助的人:9670万 我也去答题访问...
蓝桥杯C语言问题 题目如图,编译不过去,求解
编译错误大都发生在前几行,也就是说,代码中第23行和37行的错误可能是由第9行的错误引起的。
c语言问题 求解!!谢谢
注意,b-->=0;这里b--是比较之后再自减,比如b=1,先进行b=1>=0判断,后进行b--.程序执行过程中变量变化如下:i=1,b=1,while循环2次,k=2 i=2,b=0,while循环1次,k=3 i=3,b=1,while循环2次,k=5 i=4,b=0,while循环1次,k=6 i=5,b=1,while循环2次,k=8 当b=0时,...
c语言,题目如图第22到27题。求解释不要只说答案,谢谢大家!
22.\\x是转义字符代表转16进制,\\x4a代表ASCII码为16进制的4A的字符;\\\\\\n解释为"\\\\"+"\\n",是消除转义的'\\'符号再加转义字符'\\n';\\102代表ASCII码为102的字符,因此最后字符组成是'm'+'\\x4a'+'\\'+'\\n'+'p'+'\\102'+'q'一共7个字符(字符串长度不含结尾标识'\\0')。23.strlen...
求教一个c语言问题,如图为什么last+2?
因为last是下标,下标是基于0的,而插入位置是基于1的。比如,假设当前静态顺序表有2个元素,则last等于1,而有效的插入位置有1,2,3(即1<=有效插入位置<=last+2),这个范围之外就是无效的。
c语言问题求解!!!谢谢!!!
2、字符串长度问题。字符串赋初值时,系统自动给字符串分配一个空间存储‘\\0’字符结束判定字符。他是一个隐藏字符。求字符长度时,strlen求字符长度时会自动忽略‘\\0’,但sizeof不会,所以求字符长度时,sizeof() = strlen() +1;3、自增运算符的运算机制问题。自增运算符放在变量后面,如a++,...
C语言求解!3. 编写一个程序,输出100到500之间的所有素数(质数)。 结果...
C语言求解!3. 编写一个程序,输出100到500之间的所有素数(质数)。 结果应为:(如图) 我来答 首页 问题分类 全部问题 经济金融 企业管理 法律法规 社会民生 科学教育 健康生活 体育运动 文化艺术 电子数码 电脑网络 娱乐休闲 行政地区 心理分析 医疗卫生 栏目 知道日报 用户 日报...
C语言问题谢谢
如图
用虎依托: 如果要解决这个问题,用结构体更加的方便,用数组会比较麻烦一些,不过是可以解决的.#include <stdio.h> #include <math.h> #include <string.h> #define stu_num 5 #define sub_num 4 //计算个人总成绩 void count(int a[stu_num][sub_num+1]) ...
柳城县13767801336: c语言用冒泡法选择法从键盘任意输入十个小写字母,按从大到小的顺序排序输出. - ?
用虎依托: 1 输入; 2 排序; 3 输出. 参考代码如下: #include <stdio.h> int main() {int a[10];//用来存数据int i,j,temp; for(i = 0; i < 10; i ++)//输入10个数.scanf("%d",&a[i]);for (j = 0; j < 9; j++)//标准冒泡法排序for (i = 0; i < 9- j; i++){if(a[i] > a[i + ...
柳城县13767801336: C语言冒泡排序. - ?
用虎依托: #include<stdio.h> void main() { int a[10]; int i,j,t; printf("input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) /*进行9次循环 实现9趟比较*/ for(i=0;i<9-j;i++) /*在每一趟中进行9-j次比较*/ if(a[i]>a[i+1]) /*相邻两个数比较,想...
柳城县13767801336: C语言:编写一个程序用冒泡排序实现升序排列 - ?
用虎依托: 1、首先打开一个空白的C语言文件,首先先定义一组待排序的数列以及各个变量,接着就是用来处理排序的逻辑: 2、冒泡排序的逻辑是一组数从第一个数值开始,如果相邻两个数的排列顺序与期望不同,则将两个数的位置进行交换,重复这样的过程直到最后一个数不需要交换则排序完成,如果有N个数需要排序,则需要进行(N-1)趟的比较: 3、最后编译运行程序,观察最终排序的结果,可以看到数字被从小到大的排列好了,以上就是C语言冒泡排序实现的过程:
柳城县13767801336: c语言冒泡排序法 - ?
用虎依托: (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换.(2)实例...
柳城县13767801336: C语言冒泡排序法是怎么排序的? - ?
用虎依托: C语言冒泡排序法的排2113序规则:5261将被排序的记录4102数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡1653.根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"...
柳城县13767801336: 请讲解下C语言的冒泡排序法 - ?
用虎依托: 冒泡法,就是通过多次循环排序的一种方法. 第一次循环,让最小(最大)的值浮到第一位, 第二次循环,让剩余的数字中最小(最大)浮到第二位 依次类推. 这种方法就像水泡上浮一样,顾名.
柳城县13767801336: C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出 - ?
用虎依托: 冒泡法:对10个数由大到小排序#include<stdio.h>#include<stdlib.h> main() { int i,j,a[11],m; for(i=1;i<11;i++) { scanf("%d",&a[i]); } for(j=1;j<=10;j++) { for(i=1;i<11-j;i++) { if(a[i+1]>a[i]) { m=a[i+1]; a[i+1]=a[i]; a[i]=m; } } } for(i=1;i<11;i++) { printf("%d ",a[i]); } system("pause"); } 希望能够帮到你!
柳城县13767801336: C语言实现冒泡法排序和折半查找 - ?
用虎依托: #include<stdio.h>#include<string.h> void main() { char name[10][9]={"华","英","萍","涛","丽","强","军","斌","伟","亚"}; int score[10]={75,87,68,92,88,61,77,96,80,72}; printf("排序结果:\n"); for(int i=...
柳城县13767801336: c语言冒泡排序详解 - ?
用虎依托: #include#define MAXE 20 typedef char KeyType; typedef char InfoType[10]; typedef struct { KeyType key; InfoType data; }RecType; void bubblesort(RecType R[],int n) { int i,j,k; RecType temp; for(i = 0; i i;i--) if(R[j].key