数组成绩排序问题00

从键盘输入学生人数n(0

输入
第一行一个整数n,代表学生的人数。
接下来一行输入n个正整数,表示每个学生的成绩。
输出
在一行上按照从大到小顺序输出学生成绩,每个成绩(包括最后一个数据)后面有一个空格。
难度
一般
输入示例

5
85 74 93 82 71

输出示例

93 85 82 74 71
我想问一下,我的代码哪里出错了,运行结果没问题,但交不上去

#include
int main()
{
int n,i,j,t=0;
scanf("%d",&n);
int score[100];
for(i=0;iscanf("%d",&score[i]);
for(i=1;i{
for(j=0;j<=i;j++)
{
if(score[j]{
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
}
}
}
for(i=0;iprintf("%d ",score[i]);
return 0;
}


 
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(unsigned int a[], int n)
{
    int i ,j, temp;
    for(i = 0; i < n - 1; i++)
    {
          for(j = 0; j <n - 1 - i; j++)
         {
            if(a[j] < a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
         }
    }
}
int main()
{
    int N = 0;
    int * score = NULL;
    scanf("%d", &N);
    score = (int *)malloc(sizeof(int)*N);
    for (int i = 0; i < N; i++)
    {
        scanf("%d", &score[i]);
    }
    bubble_sort(score, N);
    for (int i = 0; i < N; i++)
    {
        printf("%d ", score[i]);
    }
    printf("\n");
    return 0;
}