c语言冒泡循环
冒泡排序如何使用Java语言完成?
冒泡排序的原理: 从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后最后一个元素就是最大值,完成第一轮比较,后边通过for循环依次完成后续比较。 运行代码如下:
求关于c语言 冒泡排序法的讲解
冒泡排序法是简单的排序方法之一,它和气泡从水中往上冒的情况有 些类似。其具体做法是 (1)对于数组a中的1至n个数据,先将第n个和第n-1个数据进行比较,如果 a(n)
一个用冒泡法做的C语言题
printf("输入的10个学生成绩为:\\n");for(i=0; i<10; i++)printf("%d ",a[i]);printf("\\n");\/\/冒泡排序for(i=1; i<10; i++){for(j=0; j<10-i; j++){if(a[j]<a[j+1]){t = a[j];a[j] = a[j+1];a[j+1] = t;}}} printf("冒泡排序后的结果:\\n")...
C语言用冒泡法对六个字符串按从小到大排
(pstr+i)就是pstr数组的元素i,但这是指针数组,所以里面保存的是指针,可写为pstr[i]。上面三句就是地址交换。pstr[6]是指针数组,pstr的每一个元素都是指针。还有字符串比较函数包含在 库函数 string.h中,要包含进去;定义指针时尽量把他赋值为空指针,不然野指针危害很大的。根据你下面的输出...
C语言,冒泡排序那里,为什么要定义一个i,一个j他们的用处分别是什么。还...
你的问题很古怪,感觉没有问到点子上,建议你先看算法原理说明再看程序,不能先看程序。定义i、j两个变量,是为了对数列进行双重循环操作。j没有等于n-1-i,在代码中,j<n-1-i是循环条件,从数据结构优化上将,如果不优化,直接j<n-1就可以了,-i是因为优化,减少算法步骤。
c语言中冒泡排序的原理是什么?
include <stdio.h> int main(){ int t,a,b,c;scanf("%d%d%d",&a,&b,&c);if(a<b){ t=a,a=b,b=t;} if(a<c){ t=a,a=c,c=t;} if(b<c){ t=b, b=c, c=t;} printf("%d %d %d\\n",a,b,c);return 0;} 原理就是运用冒泡算法,把最大的数浮在最上面,...
C语言用冒泡排序法对数组中的8个整数(a[8]={6,8,5,4,6,9,3,2})进行...
int i,j,k;for(i=0;i<8;i++)for(j=7;j>i;j--)if(buf[j]<buf[j-1]){ k=buf[j];buf[j]=buf[j-1];buf[j-1]=k;} for(i=0;i<8;i++)printf("%d ",buf[i]);putchar('\\n');return 0;} PS:一楼用C++,对于新手不好吧,二楼循环看来不像冒泡,倒像是沉石头...
C语言冒泡排序法代码是什么?
所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法。1、具体方法是,相邻数值两两交换。从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换(对调);如果其与我们的期望一致,则不用交换。重复这样的过程,一直到最后没有数值需要交换,则...
我用C语言编的冒泡排序法,编译通过了,但结果却不对,谁能帮我看一下错...
例如 输入数据 5 4 3 2 1 一共5个元素,四次冒泡之后就有序了,不用比较5次。i=0 时 进行第一次冒泡, j=0;j<5 这样你要比较5次,最后一次会比较if(a[4]>a[5])虽然你只定义了a[5],但是a[5]的位置一定存在值,会导致你的数据出错 改成 for(i=0;i<4;i++)for(j=0;j<4...
冒泡排序 C 语言 数列升序排列 不知哪错了,跳出循环的负数总是参加排列...
比较部分 for(i=0;i<n-1;i++){ for(j=0;j<n-i;j++){ if(a[j]>a[j+1]){ temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } 不要和负数比较 即for(j=0;j<n-i;j++)改为for(j=0;j<n-i-1;j++)
米东区依力回答: main() { int i,j,temp; int a[10]; for(i=0;i<10;i++) scanf ("%d,",&a[i]); for(j=0;j<=9;j++) { for (i=0;i<10-j;i++) if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n"); }
纳娜18995399256问: 求教 C语言 冒泡法 从大到小. - ?
米东区依力回答: #include <stdio.h>int main(){int a,b,c,d,x[10];scanf("%d",&c);printf("please input the original number:\n");for(a=0;a<c;a++)scanf("%d",&x[a]);for(a=0;a<c;a++)for(b=a;b<c-1;b++)if(x[b]>x[b+1]) { d=x[b];x[b]=x[b+1];x[b+1]=d;}...
纳娜18995399256问: c语言的冒泡排序 - ?
米东区依力回答: #include <iostream> using namespace std; int main() { int a[11];int i,j,k;for(i=0;i<10;i++)cin>>a[i]; for(i=0;i<10;i++)for(j=i+1;j<10;j++) //注意这里j=i+1if(a[i]<a[j]){k=a[i];a[i]=a[j];a[j]=k;} for(k=0;k<10;k++)cout<<a[k]<<","; system("pause"); return 0; }
纳娜18995399256问: 在C语言编程中什么叫“冒泡法”?具体解释一下,真心谢谢 - ?
米东区依力回答: 排序用的,比如有三个数613从小到大排序,用冒泡法就是先把6和1比较把6(即大的那个数放到1的后面)现在就变成163然后再把6和3进行比较,再把大的数放到后面这样就变成136,在进行第二次比较,把1和3进行比较大的数再放在后面,这样136就排出来了!这样四个数 五个数 六个数 n个数的排序都可以按照这样的方法!用C语言实现需要两个循环,一个内循环和一个外循环,内循环就是指你不断把把两个数比较大小并把大的数放在后面的过程,执行完后你会发现最大的数是在最后了!但前面的数顺序认识乱的,你就需要第二次排序,经过第二次排序后你会发现第二大的数已经排在倒数第二的位置了,以此类推,想这样的循环就是外循环
纳娜18995399256问: c语言中冒泡法是什么意思? - ?
米东区依力回答: 冒泡法是一种排序方法 冒泡法5 4 3 2 1 比如上面这5个数字我们把它按照由小到大的顺序排列, 从前往后相临两位比较大小,如果前一位比后一位大就把它俩 换位,5比4大就把5和4换位,得到45321 5又比3大 5和3换位 得到43521 依次类...
纳娜18995399256问: c语言冒泡排序法 - ?
米东区依力回答: (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换.(2)实例...
纳娜18995399256问: c语言 冒泡法求解释 两个循环条件不太懂 - ?
米东区依力回答: 内循环表示遍历数组,外循环表示遍历次数.外循环执行一次,内循环就遍历一次数组,每遍历一次至少搞定一个(就是冒出的那个泡).
纳娜18995399256问: c语言中的冒泡怎么弄 - ?
米东区依力回答: 对于冒泡:可以这样考虑 外层循环式控制一共有多少个泡需要排序, 这个当然要用循环 内层循环控制把某一个泡放到正确的位置, 这个也要用循环, 因为这个泡要和所有未排序泡比较一遍, 然后才能知道自己应该处的位置 这里有两个点,明...
纳娜18995399256问: c语言冒泡法解释! - ?
米东区依力回答: main() { int array[10]; //定义10个元素的数组,用于保存要排序的整形 int i,j,min,stmp; for(i=0;i<10;i++) scanf("%d",&array[i]);//连续输入10个数,保存在array数组中 for(i=0;i<9;i++) { min=array[i];//首先取出第一个数字,作为最小的数字,排序...
纳娜18995399256问: C语言中什么是冒泡法,请例说明.?
米东区依力回答: 第一个数和第二割比较,第一个小就互换,然后 第2割和第3个,这样最后一个就是这里面最大的, 每次循环可以减少一次循环次数因为最后一个每次循环后都是前面里面最大的