C语言题一道,使用指针进行数字排序,想求一个思路或者一个解答方法

题目描述
给你三个整数,请你从小到大输出。

输入描述:
若干组数据,每组数据占一行,每组数据为三个整数用空格分隔。

输出描述:
对每组数据按要求从小到大重新输出,输出的三个整数之间隔一个空格,每组数据单独占一行。

要求
请发挥你的所学,使用指针编程。

输入样例
6 1 5
8 5 2
输出样例
1 5 6
2 5 8

看下是这个意思吗, 纯手撸 可能有报错


#include <stdio.h>

void swap(int * a, int * b)
{  
  int tmp = *a;
  *a = *b;
  *b = tmp;
}

void sort(int num[]){
    if (num[0] > num[1]){
        swap(&num[0], &num[1]);
  }
  if (num[0] > num[2]){
       swap(&num[0], &num[2]);
  }
  if (num[1] > num[2]){
       swap(&num[1], &num[2]);
  }
}

int main(){
  int arr[100][3];
  int n;
  scanf("输入组数:%d", &n);
  for(int i = 0; i < n; ++ i){
      scanf("%d %d %d", &arr[i][0], &arr[i][1], &arr[i][2]);
      sort(arr[i]);
  }
  for(int i = 0; i < n;++i)
      printf("%d %d %d\n", arr[i][0], arr[i][1], arr[i][2]);
  return 0;
}