不会做哪位能扶贫一下😭

结果总是不合适
#include <stdio.h>
void input(int a[],int n);
void choose(int a[],int n);
void print(int a[],int n);
int main(void)
{
int n,a[10];
printf("输入变量n的值:(n<=10):");
scanf("%d",&n);
printf("输入%d个数组元素:",n);
input(a,n);
choose(a,n);
printf("排序之后:%d",n);
print(a,n);
printf("\n");
}
void input(int a[],int n)
{
int i;for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void choose(int a[],int n)
{
int i,j,k,t;for(i=0;i<(n-1);i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])k=j;
t=(a+i),a[i]=(a+k),a[k]=t;
}
}
void print(int a[],int n)
{
int i;for(i=0;i<n;i++)
{
int i;for(i=0;i<(n-1);i++)
printf("%3d",a[i]);
}
}
这个程序运行下来结果老不合适,谁能帮帮我😭

void input(int a[],int n);
void choose(int a[],int n);
void print(int a[],int n);
int main(void)
{
    int n,a[10];
    printf("输入变量n的值:(n<=10):");
    scanf("%d",&n);
    printf("输入%d个数组元素:",n);
    input(a,n);
    choose(a,n);
    printf("排序之后:");
    print(a,n);
    printf("\n");
    system("pause");
    return 0;
}
void input(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
}
void choose(int a[],int n)
{
    int i,j,k,t;
    for(i=0;i<(n-1);i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(a[j]<a[k])
                k=j;
        t=*(a+i),a[i]=*(a+k),a[k]=t;
    }
}
void print(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
    //    int i;for(i=0;i<(n-1);i++)
            printf("%3d",a[i]);
    }
}


不合适是什么?你预期的结果是什么