例62将一个十进制整数转换成二进制数。 main( f int i, k, r, x, b[16]; printf("Enter an integer x:); scanf( %d, &x) printf("%6d binary number is In",x); k do r=x%2;b[++k]=r;x/=2;} while x= o) for(i=k; i>=0; i-) printf((%1d”,b[) printf("In)
main( ) { int i, k, r, x, b[16]; printf(“Enter an integer x :”); scanf(“%d”,&x); printf(“%6d binary number is :\n”,x); k = -1; do { r = x%2; b[++k]= r ; x/=2; } while (x != 0); for ( i=k; i>=0; i--) printf(“%1d”,b[i]); printf(“\n”); } 例6.2 将一个十进制整数转换成二进制数
例63用冒泡法将10个数按从小到大排序。 冒泡法的思路是:将相邻两个数进行比较,将小的调到前头。 若有这样一组数:984520,则按如下图所示进行操作。 849520 比较与交换的操作直到数关调到最后的位置,然后将剩下 的5个数84520进行下一轮比钱与交换,直至排好序为止 main( fint i,i, t, a[11]; printf("input 10 numbers :In); for(i=1;i<11;|++) scanf(“%&a- printf("n 当有n个数时需要作n_1 fo(j=1;j=9;j++) 趟这样的搜索,每趟搜索 for(i=1;i=10j;i++) 要作n1次比较。 if(a[u>a[i+i])[=a[j a[jai+i; a[+iet; printf("the sorted numbers :n); for(i=1; i<11; i++) printf(%d, a[D)
例6.3 用冒泡法将 10 个数按从小到大排序。 冒泡法的思路是:将相邻两个数进行比较,将小的调到前头。 若有这样一组数:9 8 4 5 2 0,则按如下图所示进行操作。 9 8 4 5 2 0 比较 交换 8 94 9 比较与交换的操作直到数字 9 调到最后的位置,然后将剩下 的 5个数 8 4 5 2 0 进行下一轮比较与交换,直至排好序为止。 当有n个数时需要作n–1 趟这样的搜索, 每趟搜索 要作n–1次比较。 main( ) {int i, j,t,a[11]; printf(“input 10 numbers :\n”); for (i=1; i<11; i++) scanf(“%d”,&a[i]); printf(“\n”); for ( j=1; j<=9; j++) for (i=1; i<=10-j; i++) if (a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]= t; } printf(“the sorted numbers :\n”); for (i=1; i<11; i++) printf(“%d”,a[i]); }