做了一个类似于冒泡排序的数组排序算法

做了一个代码想模拟一下冒泡排序,但发现输出结果总是数组的地址,而把scanf取消后直接在代码里给数组赋值,就不会出现这种情况。

#include
#include
int main()
{
 int arry[5],k = 0, m, n, i, j, success;
    for (i = 0; i <= 4; i++) {
        scanf_s("%d", &arry[i]);
    }
    while (1) {
        success = 1;//衡量是否调换换成功
        for (i = 0,m = 0, n = 0; i <= 3; i++){/*此for循环用于相邻两个
            元素比较大小后交换位置*/
            m = arry[i];
            n = arry[i + 1];
            if (m > n){
                arry[i + 1] = m;
                arry[i] = n;
            }
        }
        for (i = 0; i <= 3; i++) {/*每次调换结束遍历数组检查元素是否按从小到大排列*/
            k = arry[i + 1] - arry[i];
            if (k < 0){ success=0; }
        }
        if (success==1){ break;}/*作为退出while循环的条件*/
    }
    for (i = 0; i <= 4; i++) {
        printf("%d  ",arry[i]);//遍历数组并输出
    }
    system("pause");
}
 

#include
#include
int main()
{
int arry[5]={1,9,5,88,2}, k = 0, m, n, i, j, success;
/*for (i = 0; i <= 4; i++) {
scanf_s("%d", &arry[i]);
}*/
while (1) {
success = 1;//衡量是否调换换成功
for (i = 0,m = 0, n = 0; i <= 3; i++){/*此for循环用于相邻两个
元素比较大小后交换位置*/
m = arry[i];
n = arry[i + 1];
if (m > n){
arry[i + 1] = m;
arry[i] = n;
}
}
for (i = 0; i <= 3; i++) {/每次调换结束遍历数组检查元素是否按从小到大排列/
k = arry[i + 1] - arry[i];
if (k < 0){ success=0; }
}
if (success==1){ break;}/作为退出while循环的条件/
}
for (i = 0; i <= 4; i++) {
printf("%d ",arry[i]);//遍历数组并输出
}
system("pause");
}

img

img

img

输入用1 9 5 88 2,不要加逗号