求高手指点一下..
Input 多组测试数据,每组数据一行,该行先输入一个整数n ( n <= 30),表示参加选拔的同学人数。然后是n个整数表示选拔成绩。
Output
对于每组测试数据,请在一行从高到低输出他们的成绩。
Sample Input
4 2 6 7 1
3 4 10 9
Sample Output
7 6 2 1
10 9 4
#include<stdio.h>
int main()
{
int paixu(int a[],int n);
int n,a[30]={'0'},i;
while(scanf("%d",&n)!=NULL)
{
for(i=0;i<n;i++)
scanf("%d",a[i]);
paixu(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
return(0);
}
int paixu(int a[],int n)
{
int i,j,s;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
if(a[i]<a[j+1])
{
s=a[i];
a[i]=a[j+1];
a[j+1]=s;
}
}
}
我不知道哪里错了,运行不出来啊,请高手指点一下...