c语言 从小到大排列整数问题

问题:输入4个整数,要求程序按由小到大顺序输出,得到正确结果后修改程序使之再按由大到小输出。
涉及的知识有:输入函数scanf的使用;排序算法;通过中间变量t交换a b的值的方法:t=a;a=b;b=t。
这种问题我该从哪开始下手怎么找思路

从大到小
#include<stdio.h>
int main()
{
int u[4];
int i,j;
int t=0;
for(i=0;i<4;i++)
scanf("%d",&u[i]);
for(i=0;i<4;i++)
for (j = i+1; j < 4; j++)
{
if (u[i] > u[j])
{
t=u[j];
u[j] = u[i];
u[i] = t;
}

    }
for (i = 0; i < 4; i++)
    printf("%d", u[i]);
return 0;

}

从小到大
#include<stdio.h>
int main()
{
int u[4];
int i,j;
int t=0;
for(i=0;i<4;i++)
scanf("%d",&u[i]);
for(i=0;i<4;i++)
for (j = i+1; j < 4; j++)
{
if (u[i] > u[j])
{
t=u[j];
u[j] = u[i];
u[i] = t;
}

    }
for (i = 0; i < 4; i++)
    printf("%d", u[i]);
return 0;

}

将四个整数存储到一个数组,然后用冒泡啥的排好序,最后倒序输出就好了