/***************************************************************
C語言
AUTHOR:liuyongshui
DATE:********
問題來源:http://blog.csdn.net/sxhelijian/article/details/8620846
***************************************************************/
/*
問題十一:5個學生考了3門課程,編程求每個學生的總成績及平均成績(用二維數組完成)。
*/
#include <stdio.h>
#define NUM_STUDENTS 5
#define NUM_COURSE 3
int i; //定義為全局變量
int j;
void calculate(const float score[][3]);
int main()
{
float result[NUM_STUDENTS][NUM_COURSE];
printf("請輸入5個學生考了3門課的分數(分五行寫):\n");
for(i=0; i<NUM_STUDENTS; i++)
{
for(j=0; j<NUM_COURSE; j++)
{
scanf("%f", &result[i][j]);
}
}
calculate(result); //計算總成績和平均分
return 0;
}
// 函數的定義
void calculate(const float score[][NUM_COURSE])
{
float average[NUM_STUDENTS]={0}; //定義平均分數組,並給其賦值全為0
float sum[NUM_STUDENTS]={0}; //定義總成績數組,並給其賦值全為0
for(i=0; i<NUM_STUDENTS; i++)
{
for(j=0; j<NUM_COURSE; j++)
{
sum[i]+=score[i][j]; //計算第i位同學的總成績
}
average[i]=sum[i]/NUM_STUDENTS; //計算第i位同學的平均分
}
for(i=0; i<NUM_STUDENTS; i++) //輸出每一位同學的總成績和平均分
{
printf("第%d人的總成績為%f,平均分為%f\n", i+1, sum[i], average[i]);
}
}