#include <stdio.h>
#define N 2
typedef struct
{
float cp;
float en;
float math;
float db;
float phy;
} GRADE;
typedef struct
{
int num;
char name[21];
char sex;
int age;
GRADE grades;
float ave;
} STUDENT;
void main()
{
STUDENT stu[N];
STUDENT *p;
int i;
p = stu;
for (i = 0; i < N; i++)
{
printf("請輸入學號: ");
scanf("%d", &p->num);
printf("請輸入姓名: ");
fflush(stdin);
gets(p->name);
printf("請輸入性別: ");
fflush(stdin);
p->sex = getchar();
printf("請輸入年齡: ");
scanf("%d", &p->age);
printf("請輸入C語言成績: ");
scanf("%f", &p->grades.cp);
printf("請輸入英語成績: ");
scanf("%f", &p->grades.en);
printf("請輸入數學成績: ");
scanf("%f", &p->grades.math);
printf("請輸入數據庫成績: ");
scanf("%f", &p->grades.db);
printf("請輸入物理成績: ");
scanf("%f", &p->grades.phy);
p->ave = (p->grades.cp + p->grades.db + p->grades.en + p->grades.math + p->grades.phy) / 5;
p++;
}
printf("學號\t姓名\t性別\t年齡\tC語言\t英語\t數學\t數據庫\t物理\t平均\n");
p = stu;
for (i = 0; i < N; i++)
{
printf("%d\t%s\t%c\t%d\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n", p->num,
p->name, p->sex, p->age, p->grades.cp, p->grades.en,
p->grades.math, p->grades.db, p->grades.phy, p->ave);
p++;
}
}