C语言数组程序小问

这个程序在dev c++下运行会提示停止工作,求解,谢谢!

题目:

在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,

分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序。

我的代码如下:

#include <stdio.h>

#define N 10

void printscore(int score[])

{

int i;

printf("\n");

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

{

printf("%d ",score[i]);

}

printf("\n");

}

int totalscore(int score[])

{

int i;

int sum=0;

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

{

sum+=score[i];

}

return sum;

}

int maxscore(int score[])

{

int i;

int max=-1;

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

{

if(score[i]>max)

{

max=score[i];

}

}

return max;

}

int minscore(int score[])

{

int min=100;

int i;

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

{

if (score[i]< min)

{

min=score[i];

}

}

return min;

}

int averagescore(int score[])

{

return averagescore(score)/N;

}

void sort(int score[])

{

int i,j;

for(i=N-2;i>=0;i--)

{

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

{

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

{

int temp;

temp=score[j];

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

score[j+1]=temp;

}

}

}

printscore(score);

}

int main()

{

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

int sum,average,max,min;

sum=totalscore(score);

average=averagescore(score);

max=maxscore(score);

min=minscore(score);

printf("总分是%d分\n",sum);

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

printf("最高分是%d分\n",max);

printf("最低分是%d分\n",min);

printf("----------成绩排名---------\n");

sort(score);

return 0;

}


lascride
浏览 860回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP