/***************************************************************
C語言
AUTHOR:liuyongshui
***************************************************************/
/*
問題十六:每位同學的信息學號、姓名、C++、高數、英語成績,定義一個學生成績的結構體數組,其中的數據成員包括學號(char num[12])、姓名(name)、三門課的成績(grade)、總分(score)、均分(average))。
(1)從鍵盤上輸入5名學生的信息;
(2)求出每名同學的總分和均分,並存儲在結構體數組中(可以讀入過程中“順便”計算);
(3)輸出求出每位同學的信息學號、姓名、總分和均分。
*/
#include <stdio.h>
struct stu
{
char num[12];
char name[15];
float cpp;
float english;
float math;
float score;
float average;
};
void calculate (struct stu scholastic[] ); //計算學生成績總分和平均分
int main()
{
int i;
struct stu student[5];
printf("請輸入五個同學信息.......\n");
printf("學號\t姓名\t英語分數\t高數\tC++分數\n");
for(i=0; i<5; i++)
{
scanf("%s %s %f %f %f", student[i].num,
student[i].name, &student[i].english,
&student[i].math, &student[i].cpp);
}
calculate(student);
return 0;
}
// 函數的定義
void calculate (struct stu scholatic[] )
{
int i;
for(i=0; i<5; i++)
{
scholatic[i].score=scholatic[i].average=0.0;
scholatic[i].score= scholatic[i].math+
scholatic[i].english+
scholatic[i].cpp;
scholatic[i].average=scholatic[i].score/3;
}
printf("輸出每個同學的總分和平均分:\n");
for(i=0; i<5; i++)
{
printf("第%d人: 學號:%s 姓名:%s 總分:%f 平均分:%f\n", i+1, scholatic[i].num,
scholatic[i].name,
scholatic[i].score,
scholatic[i].average);
}
}