案例一:
#include <stdio.h> int main(void){ int a[5]; printf("please input sort number:"); int k; for(k=0;k<5;k++) { scanf("%d",&a[k]);//int类型要加&符号取地址 } //开始排序 int n = sizeof(a)/sizeof(a[0]); printf("数组共%d个数 ",n); int w,j; //5个数要比较5-1=4次 3》1 for(w=0;w<n-1;w++){ //printf("w=%d ",w); 循环4次 for(j=0; j<n-1-w;j++){ if(a[j]>a[j+1]){ //大的放后面 int temp; temp = a[j]; a[j] = a[j+1];//放最小的 a[j+1] = temp; } } } //输出 int i; printf("数组初始化为:"); for(i=0;i<n;i++){ printf("%d",a[i]); } printf(" "); return 0; }
案例二:
#include <stdio.h> int main(void) { //冒泡排序实现 int a[10] = {9,5,10,7,2,3,1,6,8,4}; int i=0,j=0; int n = sizeof(a)/4; //外循环n-1轮 for(i=0;i<n-1;i++){ //控制冒泡 for(j=n-1;j>i;j--){ int temp; if(a[j]<a[j-1]){ temp = a[j]; a[j] = a[j-1]; a[j-1] = temp; } } } //输出 for(i=0;i<n;i++){ printf("a[%d]=%d ",i,a[i]); } return 0; }