问答详情
源自:6-12 综合练习

为什么,我的数组排序后不能返回排序后的数组!!

#include <stdio.h>

#define N 10

int totall(int score[])   //考试的总分

{

    int i,totall=0;

    for(i=0;i<N;i++)

{

    totall+=score[i];

}

return totall;

}

int Max(int score[])

{

    int i,max=0;

    for(i=0;i<N;i++)

{

    if(score[i]>max)

{

    max=score[i];

}

}

return max;

}

int Low(int score[])

{

     int i,min;

min=score[0];

for(i=0;i<N;i++)

{

     if(score[i]<min)

 min=score[i];

}

return min;

}

int average(int score[])

{

     int aver,sum;

sum=totall(score);

aver=sum/N;

return aver;

}

int sort(int score[])

{

 int i,j;

      for(i=8;i>=0;i--)

 for(j=0;j<=i;j++)

 {

 int temp;

     if(score[j]<score[j+1])

 {

      temp=score[j+1];

  score[j+1]=score[j];

  score[j]=temp;

 }

 }

 return score[N];

}

int main()

{

    int score[N]={67,98,75,63,82,79,81,91,66,84};

printf("总分是:%d\n",totall(score));

printf("最高分是:%d\n",Max(score));

printf("最低分是:%d\n",Low(score));

printf("平均分是:%d\n",average(score));

printf("考试成绩降序排序:%d\n",sort(score));

    return 0;

}


提问者:补食者 2016-02-16 17:22

个回答

  • zl_saber
    2016-02-16 17:30:58
    已采纳

    楼主可以搜一搜 ”按址传递和按值传递“;

  • 补食者
    2016-02-16 17:32:05

    好的,谢谢。


  • zl_saber
    2016-02-16 17:28:59

    不需要返回数组,传到sort中的是指针,sort函数是直接在原数组上进行操作