C语言编程高手请进!用冒泡法对20个数进行排序

作者&投稿:凤浅 (若有异议请与网页底部的电邮联系)
C语言 用冒泡法对20个整数进行排序(升序)。~

#include
void main()
{
int i, n=30, j, m;
int a[]={210,108,65,49,72,88,67,5,19,36, 90,35,1,112,215,6,23,46,51,29, 77,19,0,55,27,48,18,22,30,56};
printf("
These integers are as below:

");
for (i=0; i<n; i++)
{
printf("%6d",a[i]);
if ((i+1)%10==0)
printf("
");
}
for (i=1; i<n; i++)
{
for (j=0; j<n-i; j++)
{
if (a[j]>a[j+1])
{
m=a[j];
a[j]=a[j+1];
a[j+1]=m;
}
}
}
printf("
The sorted integers:

");
for (i=0; i<n; i++)
{
printf("%6d",a[i]);
if ((i+1)%10==0)
printf("
");
}
}

#include "stdio.h"

main()
{
int i,j,w[20];
printf("请分别输入20个学生的成绩");
for(i=0;i<20;i++) scanf("%d",&w[i]);
for (i=0;i<20;i++)
for (j=i;j<20;j++)
if (w[i]>w[j])
{int temp=w[j]; w[j]=w[i]; w[i]=temp; }
for(i=0;i<20;i++) printf("%d ",w[i]);
}

冒泡? 首先你要将你排序的二十个数放到数组 int Num[](以整型为例。如果有小数: double Num[]) 里面。然后定义排序的函数: Sort(int Num[],int n); 第一个参数是你要排序的数组,第二个就是数组里面数的个数。函数实现: Sort(int Num[],int n){ for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { int tmp; //定义一个临时放数组 if(Num[ i ]> Num[i +1] ) { tmp = Num[ i ]; //将较大数放到 tmp里面,防止Num[ i ] 的值被覆盖 Num[ i ] = Num [ i+1]; //让在前面的数等于较小的数。这样Num[ i ]的值被覆盖 Num[ i +1 ] = tmp ; //让后面的数等于较大值 // 这样就从第一个数开始,每两个进行比较。 将较大的数放在后面,一次循环过后,最大的一个数就在数组的最后面, // 在循环外边还有一次循环, 依次将第二大的数放在倒是第二个位置,依次类推。 } } } }} 就这样分析一下吧,源代码就不写了。PS :会冒泡排序 和 高手 根本就没有半点关系。 冒泡排序只是一种基础到不能基础的 算法。

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];//首先取出第一个数字,作为最小的数字,排序嘛 for(j=i+1;j<10;j++)//将刚才取出的最小值与后面的所有数字进行比较 if(min>array[j]) //如果最小值大于某个值,就将这两个数字交换,保证min始终是最小值,这样i每循环一次,就得到一个没有排序的数字的最小值。就是冒泡,每次剩下的最小值冒泡出来了 { min=array[j]; stmp=array[i]; array[i]=array[j]; array[j]=stmp; } } for(i=0;i<10;i++) printf("%d ",array[i]); printf("\n"); } 参考资料: http://wenku.baidu.com/view/12fbbd22bcd126fff7050b71.html

这个题昨天好像有人问过的,呵呵~~还是给你答案吧,望采纳~~ const int n=20;int i,j; for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(a[j]>a[j+1]) // 从小到大{ int t=a[j]; a[j]=a[j+1]; a[j+1]=t;}


C语言编程高手请进!用冒泡法对20个数进行排序
首先你要将你排序的二十个数放到数组 int Num[](以整型为例。如果有小数: double Num[]) 里面。然后定义排序的函数: Sort(int Num[],int n); 第一个参数是你要排序的数组,第二个就是数组里面数的个数。函数实现: Sort(int Num[],int n){ for(int i=0;i<n;i++) {...

高手请进!一道C语言编程的题,对于您这相当简单!急!!
(x++*1\/3)相当于((x++)*1\/3)而x++是后缀运算符,是先进行表达式运算,再对x加1.所以此式相当于x*1\/3 然后x++ 注意到式中有* \/两种运算符,他们的优先级相同,结合性为"左结合",即先算左再算右.以此推之11*1\/3, 11、1、3三个数都是整型数据,所以基运算结果也必为整型。11\/3=3 ...

汇编语言编程 高手请进
INLOOP:IN AL,41H TEST AL,01H JZ INLOOP IN AL,40H AND AL,0FH;ASCII十进制(BCD)ADD BL,AL LOOP INLOOP;共输入20个 MOV AL,BL;累加和®AL MOV AH,0 MOV BL,100 DIV BL;AX¸BL;商®AL,余数®AH MOV NBCDH,AL;存百位数 MOV ...

c语言编程,高手请进,能够详细解析
1 1 2 5 4 13 不过没有上机调试,具体要上机调试才好.include<stdio.h> void main(){ int va[10],vb[10],*pa,*pb,i;pa=va;pb=vb;for(i=0;i<3;i++,pa++,pb++){ pa=i;\/*va[0]=0,va[1]=a,va[2]=2*\/ pb=2*i;\/*vb[0]=0,vb[1]=2,vb[2]=4*\/ printf(...

高手请进!一道C语言编程的题,对于您这相当简单!急!!
你的c=2应该是z=2吧?!!(x-y)+z-1&&y+z\/2中有运算符 原式相当于!(6-4)+2-1&&4+2\/2 ()括号 !非 +加 -减 &&与 \/除 其中优先级最高的为(),其次为!,再其次为\/,再其次为+-,最后为&&,所以先算()内的即:!2+2-1&&4+2\/2 再然后,运算优先级较高的!运算 !2=0 即:...

编程高手请进!(C语言)
1.include <stdio.h> include<stdlib.h> include<ctype.h> main(){ int count;\/*猜数字的次数*\/ int number;\/*系统产生的随机数字*\/ int guess;\/*程序员输入数字*\/ char yes='Y';clrscr();printf("\\nNow let us play the game.\\n Guess the number:");while (toupper(yes)=='Y'...

c语言编程高手请进,小弟感激万分1025
include <stdio.h>void main(){ int m,n;int i,j,k,r;int s = 0;int count=0;scanf("%d%d",&m,&n);for(i = m; i <=n ; i++){j= i%10;k = i\/10%10;r = i\/100;if(j*j*j+k*k*k+r*r*r ==i){count++;} } printf("%d\\n",count); } ...

急!!!高难度c语言编程题,高手请进帮忙!!!
void main(){ int ix,iy;printf("please input the data of x:");scanf("%d",&ix);if(x<-5&&x>0)printf("the y is :%d",ix);if(x==0){ iy=ix-1;printf("the y is:%d"&iy);} if(x<0&&x<10)printf("the y is: 1");printf("input any key to quit!");gech();...

高手请进!一道C语言编程的题,对于您这相当简单!急!!
int i=010,j=10;printf("%d,%d\\n",++i,j--);前面是0的数字是八进制。由于后面的%d表示输出的是十进制数,所以010就等于十进制的8。而++,--符号在前面的话,就先加减,再用值。而在后面就先用值在加减。所以++i=9,j--=10

高手请进!一道C语言编程的题,对于您这相当简单!急!!
m\\n都是十六进制数 0xabc相对应的十进制数为2748 (oxabc是十六进制数,0123是八进制数;)m-=n;相当于m=m-n;(-=称为自反赋值运算)m=2748-2748 所以m=0 最后,printf("%X\\n",m);意即将m按%X\\n(%X\\n表示按十六进制输出,并换行,0的对应十六进制即0),所以屏幕输出0 换行 ...

江北区19298701755: C语言编程高手请进!用冒泡法对20个数进行排序 -
余莎山海: 冒泡? 首先你要将你排序的二十个数放到数组 int Num[](以整型为例.如果有小数: double Num[]) 里面.然后定义排序的函数: Sort(int Num[],int n); 第一个参数是你要排序的数组,第二个就是数组里面数的个数.函数实现: Sort(int Num[],...

江北区19298701755: C语言 用冒泡法对20个整数进行排序(升序). -
余莎山海: #includevoid main() { int i, n=30, j, m; int a[]={210,108,65,49,72,88,67,5,19,36, 90,35,1,112,215,6,23,46,51,29, 77,19,0,55,27,48,18,22,30,56}; printf("\nthese integers are as below:\n\n"); for (i=0; ia[j+1]) { m=a[j]; a[j]=a[j+1]; a[j+1]=m; } } } printf("\nthe sorted integers:\n\n"); for (i=0; i

江北区19298701755: 用“冒泡法对20个整数进行排顺(用C语言编译) -
余莎山海: #include <stdio.h> void main() { int a[20]; int temp; for(int i=0;i<20;i++) { printf("请输入第%d个整数",i+1); scanf("%d",&a[i]); } for(i=0;i<19;i++) { for(int j=0;j<19-i;j++){ if(a[j]<a[j+1]) { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } printf("\n排序后为:\n"); for(i=0;i<20;i++){ printf("%d",a[i]); } printf("\n") }

江北区19298701755: 请问怎么用C语言编写一个程序用冒泡法将20个浮点型数据排序 -
余莎山海: #include<stdio.h> void main(void) { float a[20]; int i,j; float temp; for(i=0;i<20;i++) { scanf("%f",&a[i]); } for(i=0;i<20;i++) { for(j=i+1;j<20;j++) { if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }} } printf("从小到大的顺序为:\n"); for(i=0;i<20;i++) { printf("%f",a[i]); } putchar('\n'); }

江北区19298701755: 用c语言编写:输入20个整数,分别用选择法和冒泡法实现降序排列后,再按照每行5个数的规律输出 -
余莎山海: /////冒泡法#include <stdio.h> void main () { int i,a[100],n,j,k=1,t; printf ("输入个数n: ");//你要的是20,就输入10吧 scanf ("%d",&n); printf ("输入%d个数据:\n",n); for (i=0;i<n;i++) { printf ("a[%d]= ",i); scanf ("%d",&a[i]); } for (i=1...

江北区19298701755: 用冒泡排序法对输入的20个数进行降序并存入数组中,输入一个数,查看是否存在 -
余莎山海: 以C++为列,冒泡排序书上有列题,然后用FOR循环存到一个数组里,用CIN输入一个数给变量,用这个变量和数组在第2个FOR循环里用 IF(..== A[..])是就存在,否就用ELSE说不存在

江北区19298701755: 1使用“气泡法”对20个数进行从大到小排序(最好使用函数调用,写两个 -
余莎山海: 你输入的是十个数,在控制循环中只输入了9个数, 输出中要有间隔,才能更清晰:另外说一下,最好代码要规范一下:<pre t="code" l="cpp">#include<stdio.h> int main() { void order(int a[10]); int a[10],i; printf("please input 10 numbers:\n...

江北区19298701755: 用c++编写一个冒泡排序函数模板.对20个数序进行排序输出. -
余莎山海: //冒泡函数如下void BubbleSort() {int i,j;int temp;for(j=0;j<NUM-1;++j) //冒泡排序总次数为NUM-1,记得宏定义一个NUM值为20 {for(i=0;i<NUM-j;++i) //给i计数 {if(ArrInt[i]>ArrInt[i+1]) //对比临近两个元素,把值比较大的元素向下沉一个位置 ...

江北区19298701755: c语言冒泡法升序排列20个数字遇到的问题 -
余莎山海: 首先,scanf里面赋值的参数要是地址而不是值,也就是你该写成&a[i] 然后就是数组下标是从0开始到元素个数减1,你定义的是20,下标就是0-19,不存在20这个下标,而你所有用的都是1-20,这是个基本概念 最后就是,冒泡排序比较次数是n-...

江北区19298701755: 输入20个整数,用选择法(冒泡法),对整数排列.从小到大 -
余莎山海: #include<stdio.h> main() { int a[20],i,j,temp; for(i=0;i<20;i++)scanf("%d",&a[i]); for(i=0;i<20;i++) for(j=i+1;j<20;j++) if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i=0;i<20;i++) printf("%d\t",a[i]); printf("\n"); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网