//需求:运用冒泡法对一位数组进行由小到大排序,并打印输出
#include <stdio.h> int main(){ int arr[]={8,2,4,3,1,5}; for (int a=0; a<6; a++) { int i=0; for (int b=0; b<6-a; b++) {
if (arr>arr[b+1]) { //比较数组相邻两个数的大小,若左边大于右边,那么将两个数交换 i=arr; arr=arr[b+1]; arr[b+1]=i; } } for (int c=0; c<6; c++) { printf("%d\t",arr[c]); } printf("\n"); } return 0;
} 这个程序在多次运行的时候会出现最大值8遍为负值的情况,但有时又不会变化,结果正常,求原因
|