关于“交换排序“”的问题


#include <stdio.h>
void so(int a[], int n)
{
    int i, j;
   for (i = 0; i < n-1; i++)
    {
        for (j =i+1; j <n; j++)
        {
            if (a[i] > a[j])
            {
                a[i] = a[j];
            }
        }
    }
}
int main()
{
    int n, g;
    int a[10];
    scanf_s("%d", &n);
    for (g=0;g<n;g++)
    {
        scanf_s("%d", &a[g]);
    }
    so(a, n);
    for (int i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}

img


我这怎么比较不大小呢?恳请大家指点谢谢你们了┭┮﹏┭┮

if (a[i] > a[j])
            {
                a[i] = a[j];
            }
这也不是交换啊,这是单向赋值
if (a[i] > a[j])
            {
                t  = a[i];
                a[i] = a[j];
                a[j] = t;
            }