1. 程式人生 > >計算考試成績的總分,最高分,最低分,平均分以及成績的排名演算法

計算考試成績的總分,最高分,最低分,平均分以及成績的排名演算法

#include <stdio.h>
#define N 10

//計算考試總分
int getTotalScore(int score[]){
	int sum = 0;
	int i;
	for(i = 0;i < N;i++){
		sum += score[i];
	}
	return sum;
}

//計算平均分
int getAvgScore(int score[]){
	return getTotalScore(score) / N;
}

//計算最高分
int getMax(int score[]){
	int max = -1;
	int i;
	for(i = 0;i < N;i++){
        if(score[i] > max){
			max = score[i];
		}
	}
	return max;
}

//計算最低分
int getMin(int score[]){
	int min = 100;
	int i;
	for(i = 0;i < N;i++){
		if(score[i] < min){
			min = score[i];
		}
	}
	return min;
}

//分數降序排序
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;
			}
		}
	}
	for(i = 0;i < N;i++){
        printf("%d ",score[i]);
	}
}

int main()
{
	int score[N] = {67,98,75,63,82,79,81,91,66,84};
	int sum,avg,max,min;
	sum = getTotalScore(score);
	avg = getAvgScore(score);
	max = getMax(score);
	min = getMin(score);
	printf("總分是:%d\n",sum);
	printf("平均分是:%d\n",avg);
	printf("最高分是:%d\n",max);
	printf("最低分是:%d\n",min);
	printf("----------成績排名---------\n");
	sort(score);
	return 0;
}

執行結果: