帮忙找一下错误
蓝色风X 2011-07-04 09:30:24 2. 根据条件进行学生成绩排名
1) 在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2) 改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3) 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending 升,d:descending 降)
#include<stdio.h>
int main ()
{ int sort2(int a[],int n);
int sort1(int a[10]);
int a[10],i,n,b[100];
char style ;
printf("please enter ten students' score :\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort1(a); /* 1\在函数中进行10个学生成绩从高到低排名*/
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("please enter n:\n"); /* 2\n个学生成绩从高到低排名*/
scanf("%d",&n);
printf("please enter %d students' score :\n",n);
for (i=0;i<n;i++)
scanf("%d",&b[i]);
sort2(b,n);
for(i=0;i<n;i++)
printf("%d\t",b[i]);
printf("please enter style a or d :\n"); /*3\按照升序或降序排列*/
style=getchar();
sort2(b,n);
if (style==a)
{
for (i=0;i<n;i++)
printf("%d\n",b[n-1-i]);
}
else if (style='d')
{
for (i=0;i<n;i++)
printf("%d\n",b[i]);
}
}
int sort1(int a[10])
{ int sort2(int a[], int n );
sort2(a,10);
}
int sort2(int a[], int n ) /* Mathematics */
{
int i,j,t;
for (i=0;i<n;i++)
for (j=i+1;j<n;j++)
if (a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
最后不能输入style就直接跳过了 本来是要按照那个a或者d排列