c语言冒泡法排序,其中第九行if(a[j]>a[j+1])开始,为什么不是if(a[i]>a[i+1]) 呢 求详细解释冒泡法的区别!在第7行上。i<9-(j+1)和i<...

作者&投稿:本帘 (若有异议请与网页底部的电邮联系)
这是冒泡排序算法决定的。冒泡排序算法共需要n趟比较(n为元素个数),每趟两两比较相邻元素。外循环变量i决定趟数(这里i=0...9),内循环变量j控制每趟比较的元素(这里j=0...9-i),因此是if(a[j]>a[j+1])开始。

这里两层循环的意思是
i那一层是用来管理冒泡的长度
比如第一次冒泡比较9次,最小的数到了最后一个
第二冒泡你就不需要再看最好一个了,只需要再比较8次就好了,i就是用来记录这个的

j那一层循环才是真正的冒泡算法,比较,交换。

当然不是,你的冒泡法是把最大的沉下去,若if(a[i]>a[i+1])这样的话,那不在内层循环都是比较a[0]和a[1](第一次循环),而且最后,也就是把最大的数沉到最下面啦!并没有完成排序

c语言编程问题如下,第九行的语句float fnum = 1.23f;中1.23后有一个f,这在VC6.0中编译连接没出错,结果~

如果我直接写float a = 1.23
请问1.23是什么类型的?
计算机默认为double类型
double是双精度的,把一个double类型的值赋给float 可能会损失精度,有些编译器会出现警告(当然有的编译器不出现警告)
如果你写float a = 1.23f
那么1.23f就是float类型的。
这样程序严谨。任何编译器中都不会出现警告

for(j=0;j<9;j++)
for(i=0;i<9-(j+1);i++)
这不是冒泡法的区别,这只是边界条件设置而已。
因为冒泡法每趟(外围)都能选择出来一个最值,所以下次参与比较的数都会较之上次少一,而且n个数值只需比较n-1次。下次问问题希望分能多给一些,否则很少人会回答的,而且你这题目太朦胧了。

c语言求详解
答:for(j=0;j<9;j++)//下面这几行是对数组内容进行排序。百度上可以找到许多的解释。是冒泡排序。参考资料里有百度百科的解释!for(i=0;i<9-j;i++)if(a[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]...

求c语言冒泡法排序十个数
答:\n");return 0;} 另送选择排序算法 for(i=0;i<len-1;++i){ k = i;for(j=i+1;j<len;++j)if(arr[k]>arr[j])k = j;if(i!=k){ temp = arr[i];arr[i] = arr[k];arr[k] = temp;} } ...

c语言编程题:分别用冒泡法和选择法对输入的10个整数由大到小排序
答:include <stdio.h> void maopao(int *a){ int temp=0;for(int i=0;i<10-1;++i)//只需要冒泡9个数最后一个就已经有序了 for(int j=0;j<10-i-1;++j)//j的取值需<10-i-1;为何-1,if(a[j]<a[j...

java冒泡排序法代码
答:冒泡排序是比较经典的排序算法。代码如下:for(int i=1;i<arr.length;i++){for(int j=1;j<arr.length-i;j++){//交换位置}

c语言三种排序
答:常用的c语言排序算法主要有三种即冒泡法排序、选择法排序、插入法排序。一、冒泡排序冒泡排序:是从第一个数开始,依次往后比较,在满足判断条件下进行交换。代码实现(以降序排序为例)include<stdio.h> int main(){ int ...

用C++语言编写程序实现:设计一个函数模板,实现用冒泡法对10 个某...
答:冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复...

C语言冒泡排序法代码是什么?
答:所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法。1、具体方法是,相邻数值两两交换。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换(对调);如果其...

在C语言中如何用冒泡法,输入10个人的序号和成绩,对成绩从大到小进行...
答:{int a[10];int b[10];int i,j,t;printf("num score\n");for(i=0;i<10;i++){scanf("%d%d",&b[i],&a[i]);//输入值 printf("\n");} for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[...

C语言冒泡法排序:任意输入十个数排序(从小到大;从大到小)
答:printf("排序前:\n");for(i=0;i<N;i++){ scanf("%d",&a[i]);} for(i=0;i<N;i++){ printf("%6.1f",a[i]);} printf("\n");for(i=0;i<N-1;i++){ for(j=0;j<N-i-1;j++)if(a[j...

两个数相同时c语言怎么用冒泡法?
答:冒泡排序是一种简单但效率较低的排序算法,它可以将一个数列中的元素按照从大到小或从小到大的顺序排列。如果要对一个数组进行冒泡排序,在C语言中可以使用以下的代码:void bubbleSort(int arr[], int n) { int i...