1 #include <stdio.h> //冒泡排序 2 #include <stdlib.h> 3 int main() 4 { 5 int a[99],t,i,j; 6 for (i=0;i<3;i++) //依次输入数值, 7 { 8 scanf("%d",&a[i]); 9 } 10 for(i=0;i<2;i++) // 进行n-1趟冒泡冒出从大到小的数值 11 { 12 for (j=0;j<2-i;j++) //一趟冒泡过程 13 { 14 if(a[j]<a[j+1]) 15 { 16 t=a[j]; 17 a[j]=a[j+1]; 18 a[j+1]=t; 19 } 20 } 21 } 22 for (j=0;j<3;j++) //从大到小输出 23 { 24 printf("%d ",a[j]); 25 } 26 printf(" "); 27 28 return 0; 29 }
1 #include <stdio.h> //冒泡排序 2 #include <stdlib.h> 3 int main() 4 { 5 int a[99],t,i,j,n=3; 6 for (i=0;i<3;i++) //依次输入数值, 7 { 8 scanf("%d",&a[i]); 9 } 10 //flag = 1; //当待比较的数较多时,设置一个标志,如果中途数组已经有序了,可以直接break 11 for(i=n-1;i>=0;i--) // i为最后一个待排元素;n个元素,进行n-1趟冒泡冒出从大到小的数值, 12 { 13 for (j=0;j<i;j++) //一趟冒泡过程;i前面的元素依次比较,最后一次为a[i]与a[i-1]比较 14 { 15 if(a[j]<a[j+1]) 16 { 17 t=a[j]; 18 a[j]=a[j+1]; 19 a[j+1]=t; 20 //flag = 0; 21 } 22 } 23 //if(flag==1) break; 24 } 25 for (j=0;j<3;j++) //从大到小输出 26 { 27 printf("%d ",a[j]); 28 } 29 printf(" "); 30 31 return 0; 32 }
输入四个整数,要求按由小到大的顺序输出
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 int a[4],j,i,temp; 7 for(i=0;i<4;i++)//for循环依次输入四个数 8 { 9 scanf("%d",&a[i]); 10 } 11 for(i=0;i<3;i++) //n个数进行n-1趟排序 12 { 13 for(j=0;j<4-i;j++) //进行一趟排序的过程 14 { 15 if(a[j]>a[j+1]) 16 { 17 temp = a[j]; 18 a[j] = a[j+1]; 19 a[j+1] = temp; 20 } 21 } 22 } 23 for(j=0;j<4;j++) //for循环一次输出四个数 24 { 25 printf("%d ",a[j]); 26 } 27 return 0; 28 }