#include <stdio.h>
#define N 10
void main(void)
{
int a[N];
int n=0;
int i,j,x;

printf("データを入力 データ数の上限は10、下限は1\n");
printf("終了時は CTRL+d を押下\n");
while(n<N && scanf("%d",&a[n])!=EOF) ++n;
for(i=2;i<=n;i++){
x=a[i];
a[0]=a[i];
j=i-1;
while(x>a[j]){
a[j+1]=a[j];
j--;}
a[j+1]=x;
}
printf("%d",&a[0]);
}

データ数の上限が10個で、データを降順に並べ替えて出力するプログラムつくれ
って宿題が出たんですが、コンパイルして実行しても全く関係ない文字列が
出力されます。
おかしいところがよくわからんのですが、教えてください。よろしくお願いします。